algebra.direct_sum.moduleMathlib.Algebra.DirectSum.Module

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 -/
 import Algebra.DirectSum.Basic
-import LinearAlgebra.Dfinsupp
+import LinearAlgebra.DFinsupp
 
 #align_import algebra.direct_sum.module from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 -/
-import Mathbin.Algebra.DirectSum.Basic
-import Mathbin.LinearAlgebra.Dfinsupp
+import Algebra.DirectSum.Basic
+import LinearAlgebra.Dfinsupp
 
 #align_import algebra.direct_sum.module from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
 
Diff
@@ -437,7 +437,7 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σ i, α i => ↑(v a.1 a.2) :=
   by
   funext a
-  simp only [is_internal.collected_basis, to_module, coe_linear_map, AddEquiv.toFun_eq_coe,
+  simp only [is_internal.collected_basis, to_module, coe_linear_map, AddEquiv.to_fun_eq_coe,
     Basis.coe_ofRepr, Basis.repr_symm_apply, DFinsupp.lsum_apply_apply,
     DFinsupp.mapRange.linearEquiv_apply, DFinsupp.mapRange.linearEquiv_symm,
     DFinsupp.mapRange_single, Finsupp.total_single, LinearEquiv.ofBijective_apply,
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
-
-! This file was ported from Lean 3 source module algebra.direct_sum.module
-! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.DirectSum.Basic
 import Mathbin.LinearAlgebra.Dfinsupp
 
+#align_import algebra.direct_sum.module from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
+
 /-!
 # Direct sum of modules
 
Diff
@@ -46,22 +46,22 @@ variable {ι : Type v} [dec_ι : DecidableEq ι]
 variable {M : ι → Type w} [∀ i, AddCommMonoid (M i)] [∀ i, Module R (M i)]
 
 instance : Module R (⨁ i, M i) :=
-  Dfinsupp.module
+  DFinsupp.module
 
 instance {S : Type _} [Semiring S] [∀ i, Module S (M i)] [∀ i, SMulCommClass R S (M i)] :
     SMulCommClass R S (⨁ i, M i) :=
-  Dfinsupp.sMulCommClass
+  DFinsupp.sMulCommClass
 
 instance {S : Type _} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, IsScalarTower R S (M i)] :
     IsScalarTower R S (⨁ i, M i) :=
-  Dfinsupp.isScalarTower
+  DFinsupp.isScalarTower
 
 instance [∀ i, Module Rᵐᵒᵖ (M i)] [∀ i, IsCentralScalar R (M i)] : IsCentralScalar R (⨁ i, M i) :=
-  Dfinsupp.isCentralScalar
+  DFinsupp.isCentralScalar
 
 #print DirectSum.smul_apply /-
 theorem smul_apply (b : R) (v : ⨁ i, M i) (i : ι) : (b • v) i = b • v i :=
-  Dfinsupp.smul_apply _ _ _
+  DFinsupp.smul_apply _ _ _
 #align direct_sum.smul_apply DirectSum.smul_apply
 -/
 
@@ -70,14 +70,14 @@ variable (R ι M)
 #print DirectSum.lmk /-
 /-- Create the direct sum given a family `M` of `R` modules indexed over `ι`. -/
 def lmk : ∀ s : Finset ι, (∀ i : (↑s : Set ι), M i.val) →ₗ[R] ⨁ i, M i :=
-  Dfinsupp.lmk
+  DFinsupp.lmk
 #align direct_sum.lmk DirectSum.lmk
 -/
 
 #print DirectSum.lof /-
 /-- Inclusion of each component into the direct sum. -/
 def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
-  Dfinsupp.lsingle
+  DFinsupp.lsingle
 #align direct_sum.lof DirectSum.lof
 -/
 
@@ -90,7 +90,7 @@ theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
 variable {ι M}
 
 #print DirectSum.single_eq_lof /-
-theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b :=
+theorem single_eq_lof (i : ι) (b : M i) : DFinsupp.single i b = lof R ι M i b :=
   rfl
 #align direct_sum.single_eq_lof DirectSum.single_eq_lof
 -/
@@ -114,7 +114,7 @@ variable {R}
 #print DirectSum.support_smul /-
 theorem support_smul [∀ (i : ι) (x : M i), Decidable (x ≠ 0)] (c : R) (v : ⨁ i, M i) :
     (c • v).support ⊆ v.support :=
-  Dfinsupp.support_smul _ _
+  DFinsupp.support_smul _ _
 #align direct_sum.support_smul DirectSum.support_smul
 -/
 
@@ -127,7 +127,7 @@ variable (R ι N φ)
 #print DirectSum.toModule /-
 /-- The linear map constructed using the universal property of the coproduct. -/
 def toModule : (⨁ i, M i) →ₗ[R] N :=
-  Dfinsupp.lsum ℕ φ
+  DFinsupp.lsum ℕ φ
 #align direct_sum.to_module DirectSum.toModule
 -/
 
@@ -170,7 +170,7 @@ See note [partially-applied ext lemmas]. -/
 @[ext]
 theorem linearMap_ext ⦃ψ ψ' : (⨁ i, M i) →ₗ[R] N⦄
     (H : ∀ i, ψ.comp (lof R ι M i) = ψ'.comp (lof R ι M i)) : ψ = ψ' :=
-  Dfinsupp.lhom_ext' H
+  DFinsupp.lhom_ext' H
 #align direct_sum.linear_map_ext DirectSum.linearMap_ext
 -/
 
@@ -190,10 +190,10 @@ variable (ι M)
 between `⨁ i, M i` and `Π i, M i`. -/
 @[simps apply]
 def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
-  { Dfinsupp.equivFunOnFintype with
+  { DFinsupp.equivFunOnFintype with
     toFun := coeFn
     map_add' := fun f g => by ext; simp only [add_apply, Pi.add_apply]
-    map_smul' := fun c f => by ext; simp only [Dfinsupp.coe_smul, RingHom.id_apply] }
+    map_smul' := fun c f => by ext; simp only [DFinsupp.coe_smul, RingHom.id_apply] }
 #align direct_sum.linear_equiv_fun_on_fintype DirectSum.linearEquivFunOnFintype
 -/
 
@@ -205,8 +205,8 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
     (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m :=
   by
   ext a
-  change (Dfinsupp.equivFunOnFintype (lof R ι M i m)) a = _
-  convert _root_.congr_fun (Dfinsupp.equivFunOnFintype_single i m) a
+  change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _
+  convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a
 #align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lof
 -/
 
@@ -217,7 +217,7 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
   by
   ext a
   change (dfinsupp.equiv_fun_on_fintype.symm (Pi.single i m)) a = _
-  rw [Dfinsupp.equivFunOnFintype_symm_single i m]
+  rw [DFinsupp.equivFunOnFintype_symm_single i m]
   rfl
 #align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_single
 -/
@@ -242,7 +242,7 @@ variable (ι M)
 #print DirectSum.component /-
 /-- The projection map onto one component, as a linear map. -/
 def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
-  Dfinsupp.lapply i
+  DFinsupp.lapply i
 #align direct_sum.component DirectSum.component
 -/
 
@@ -257,7 +257,7 @@ theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i
 #print DirectSum.ext /-
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
-  Dfinsupp.ext h
+  DFinsupp.ext h
 #align direct_sum.ext DirectSum.ext
 -/
 
@@ -270,7 +270,7 @@ theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = com
 #print DirectSum.lof_apply /-
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
-  Dfinsupp.single_eq_same
+  DFinsupp.single_eq_same
 #align direct_sum.lof_apply DirectSum.lof_apply
 -/
 
@@ -284,7 +284,7 @@ theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M
 #print DirectSum.component.of /-
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
-  Dfinsupp.single_apply
+  DFinsupp.single_apply
 #align direct_sum.component.of DirectSum.component.of
 -/
 
@@ -295,7 +295,7 @@ variable {κ : Type _}
 #print DirectSum.lequivCongrLeft /-
 /-- Reindexing terms of a direct sum is linear.-/
 def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k) :=
-  { equivCongrLeft h with map_smul' := Dfinsupp.comapDomain'_smul _ _ }
+  { equivCongrLeft h with map_smul' := DFinsupp.comapDomain'_smul _ _ }
 #align direct_sum.lequiv_congr_left DirectSum.lequivCongrLeft
 -/
 
@@ -319,7 +319,7 @@ variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 #print DirectSum.sigmaLcurry /-
 /-- `curry` as a linear map.-/
 noncomputable def sigmaLcurry : (⨁ i : Σ i, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
-  { sigmaCurry with map_smul' := fun r => by convert @Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
+  { sigmaCurry with map_smul' := fun r => by convert @DFinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 -/
 
@@ -336,7 +336,7 @@ theorem sigmaLcurry_apply (f : ⨁ i : Σ i, _, δ i.1 i.2) (i : ι) (j : α i)
 /-- `uncurry` as a linear map.-/
 def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
     (⨁ (i) (j), δ i j) →ₗ[R] ⨁ i : Σ i, _, δ i.1 i.2 :=
-  { sigmaUncurry with map_smul' := Dfinsupp.sigmaUncurry_smul }
+  { sigmaUncurry with map_smul' := DFinsupp.sigmaUncurry_smul }
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
 -/
 
@@ -369,7 +369,7 @@ variable {α : Option ι → Type w} [∀ i, AddCommMonoid (α i)] [∀ i, Modul
 `option ι`.-/
 @[simps]
 noncomputable def lequivProdDirectSum : (⨁ i, α i) ≃ₗ[R] α none × ⨁ i, α (some i) :=
-  { addEquivProdDirectSum with map_smul' := Dfinsupp.equivProdDfinsupp_smul }
+  { addEquivProdDirectSum with map_smul' := DFinsupp.equivProdDFinsupp_smul }
 #align direct_sum.lequiv_prod_direct_sum DirectSum.lequivProdDirectSum
 -/
 
@@ -429,8 +429,8 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
     (v : ∀ i, Basis (α i) R (A i)) : Basis (Σ i, α i) R M
     where repr :=
     ((LinearEquiv.ofBijective (DirectSum.coeLinearMap A) h).symm ≪≫ₗ
-        Dfinsupp.mapRange.linearEquiv fun i => (v i).repr) ≪≫ₗ
-      (sigmaFinsuppLequivDfinsupp R).symm
+        DFinsupp.mapRange.linearEquiv fun i => (v i).repr) ≪≫ₗ
+      (sigmaFinsuppLequivDFinsupp R).symm
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
 -/
 
@@ -441,13 +441,13 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
   by
   funext a
   simp only [is_internal.collected_basis, to_module, coe_linear_map, AddEquiv.toFun_eq_coe,
-    Basis.coe_ofRepr, Basis.repr_symm_apply, Dfinsupp.lsum_apply_apply,
-    Dfinsupp.mapRange.linearEquiv_apply, Dfinsupp.mapRange.linearEquiv_symm,
-    Dfinsupp.mapRange_single, Finsupp.total_single, LinearEquiv.ofBijective_apply,
+    Basis.coe_ofRepr, Basis.repr_symm_apply, DFinsupp.lsum_apply_apply,
+    DFinsupp.mapRange.linearEquiv_apply, DFinsupp.mapRange.linearEquiv_symm,
+    DFinsupp.mapRange_single, Finsupp.total_single, LinearEquiv.ofBijective_apply,
     LinearEquiv.symm_symm, LinearEquiv.symm_trans_apply, one_smul,
-    sigmaFinsuppAddEquivDfinsupp_apply, sigmaFinsuppEquivDfinsupp_single,
-    sigmaFinsuppLequivDfinsupp_apply]
-  convert Dfinsupp.sumAddHom_single (fun i => (A i).Subtype.toAddMonoidHom) a.1 (v a.1 a.2)
+    sigmaFinsuppAddEquivDFinsupp_apply, sigmaFinsuppEquivDFinsupp_single,
+    sigmaFinsuppLequivDFinsupp_apply]
+  convert DFinsupp.sumAddHom_single (fun i => (A i).Subtype.toAddMonoidHom) a.1 (v a.1 a.2)
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 -/
 
Diff
@@ -43,8 +43,6 @@ variable {R : Type u} [Semiring R]
 
 variable {ι : Type v} [dec_ι : DecidableEq ι]
 
-include R
-
 variable {M : ι → Type w} [∀ i, AddCommMonoid (M i)] [∀ i, Module R (M i)]
 
 instance : Module R (⨁ i, M i) :=
@@ -61,11 +59,11 @@ instance {S : Type _} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, Is
 instance [∀ i, Module Rᵐᵒᵖ (M i)] [∀ i, IsCentralScalar R (M i)] : IsCentralScalar R (⨁ i, M i) :=
   Dfinsupp.isCentralScalar
 
+#print DirectSum.smul_apply /-
 theorem smul_apply (b : R) (v : ⨁ i, M i) (i : ι) : (b • v) i = b • v i :=
   Dfinsupp.smul_apply _ _ _
 #align direct_sum.smul_apply DirectSum.smul_apply
-
-include dec_ι
+-/
 
 variable (R ι M)
 
@@ -83,32 +81,42 @@ def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
 #align direct_sum.lof DirectSum.lof
 -/
 
+#print DirectSum.lof_eq_of /-
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
   rfl
 #align direct_sum.lof_eq_of DirectSum.lof_eq_of
+-/
 
 variable {ι M}
 
+#print DirectSum.single_eq_lof /-
 theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b :=
   rfl
 #align direct_sum.single_eq_lof DirectSum.single_eq_lof
+-/
 
+#print DirectSum.mk_smul /-
 /-- Scalar multiplication commutes with direct sums. -/
 theorem mk_smul (s : Finset ι) (c : R) (x) : mk M s (c • x) = c • mk M s x :=
   (lmk R ι M s).map_smul c x
 #align direct_sum.mk_smul DirectSum.mk_smul
+-/
 
+#print DirectSum.of_smul /-
 /-- Scalar multiplication commutes with the inclusion of each component into the direct sum. -/
 theorem of_smul (i : ι) (c : R) (x) : of M i (c • x) = c • of M i x :=
   (lof R ι M i).map_smul c x
 #align direct_sum.of_smul DirectSum.of_smul
+-/
 
 variable {R}
 
+#print DirectSum.support_smul /-
 theorem support_smul [∀ (i : ι) (x : M i), Decidable (x ≠ 0)] (c : R) (v : ⨁ i, M i) :
     (c • v).support ⊆ v.support :=
   Dfinsupp.support_smul _ _
 #align direct_sum.support_smul DirectSum.support_smul
+-/
 
 variable {N : Type u₁} [AddCommMonoid N] [Module R N]
 
@@ -123,29 +131,35 @@ def toModule : (⨁ i, M i) →ₗ[R] N :=
 #align direct_sum.to_module DirectSum.toModule
 -/
 
+#print DirectSum.coe_toModule_eq_coe_toAddMonoid /-
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
 theorem coe_toModule_eq_coe_toAddMonoid :
     (toModule R ι N φ : (⨁ i, M i) → N) = toAddMonoid fun i => (φ i).toAddMonoidHom :=
   rfl
 #align direct_sum.coe_to_module_eq_coe_to_add_monoid DirectSum.coe_toModule_eq_coe_toAddMonoid
+-/
 
 variable {ι N φ}
 
+#print DirectSum.toModule_lof /-
 /-- The map constructed using the universal property gives back the original maps when
 restricted to each component. -/
 @[simp]
 theorem toModule_lof (i) (x : M i) : toModule R ι N φ (lof R ι M i x) = φ i x :=
   toAddMonoid_of (fun i => (φ i).toAddMonoidHom) i x
 #align direct_sum.to_module_lof DirectSum.toModule_lof
+-/
 
 variable (ψ : (⨁ i, M i) →ₗ[R] N)
 
+#print DirectSum.toModule.unique /-
 /-- Every linear map from a direct sum agrees with the one obtained by applying
 the universal property to each of its components. -/
 theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.comp <| lof R ι M i) f :=
   toAddMonoid.unique ψ.toAddMonoidHom f
 #align direct_sum.to_module.unique DirectSum.toModule.unique
+-/
 
 variable {ψ} {ψ' : (⨁ i, M i) →ₗ[R] N}
 
@@ -169,8 +183,6 @@ def lsetToSet (S T : Set ι) (H : S ⊆ T) : (⨁ i : S, M i) →ₗ[R] ⨁ i :
 #align direct_sum.lset_to_set DirectSum.lsetToSet
 -/
 
-omit dec_ι
-
 variable (ι M)
 
 #print DirectSum.linearEquivFunOnFintype /-
@@ -187,6 +199,7 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
 
 variable {ι M}
 
+#print DirectSum.linearEquivFunOnFintype_lof /-
 @[simp]
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m :=
@@ -195,7 +208,9 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
   change (Dfinsupp.equivFunOnFintype (lof R ι M i m)) a = _
   convert _root_.congr_fun (Dfinsupp.equivFunOnFintype_single i m) a
 #align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lof
+-/
 
+#print DirectSum.linearEquivFunOnFintype_symm_single /-
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M).symm (Pi.single i m) = lof R ι M i m :=
@@ -205,11 +220,14 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
   rw [Dfinsupp.equivFunOnFintype_symm_single i m]
   rfl
 #align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_single
+-/
 
+#print DirectSum.linearEquivFunOnFintype_symm_coe /-
 @[simp]
 theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
     (linearEquivFunOnFintype R ι M).symm f = f := by ext; simp [linear_equiv_fun_on_fintype]
 #align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coe
+-/
 
 #print DirectSum.lid /-
 /-- The natural linear equivalence between `⨁ _ : ι, M` and `M` when `unique ι`. -/
@@ -230,37 +248,45 @@ def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
 
 variable {ι M}
 
+#print DirectSum.apply_eq_component /-
 theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i f :=
   rfl
 #align direct_sum.apply_eq_component DirectSum.apply_eq_component
+-/
 
+#print DirectSum.ext /-
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
   Dfinsupp.ext h
 #align direct_sum.ext DirectSum.ext
+-/
 
+#print DirectSum.ext_iff /-
 theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = component R ι M i g :=
   ⟨fun h _ => by rw [h], ext R⟩
 #align direct_sum.ext_iff DirectSum.ext_iff
+-/
 
-include dec_ι
-
+#print DirectSum.lof_apply /-
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
   Dfinsupp.single_eq_same
 #align direct_sum.lof_apply DirectSum.lof_apply
+-/
 
+#print DirectSum.component.lof_self /-
 @[simp]
 theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M i) b) = b :=
   lof_apply R i b
 #align direct_sum.component.lof_self DirectSum.component.lof_self
+-/
 
+#print DirectSum.component.of /-
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
   Dfinsupp.single_apply
 #align direct_sum.component.of DirectSum.component.of
-
-omit dec_ι
+-/
 
 section CongrLeft
 
@@ -273,11 +299,13 @@ def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k)
 #align direct_sum.lequiv_congr_left DirectSum.lequivCongrLeft
 -/
 
+#print DirectSum.lequivCongrLeft_apply /-
 @[simp]
 theorem lequivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, M i) (k : κ) :
     lequivCongrLeft R h f k = f (h.symm k) :=
   equivCongrLeft_apply _ _ _
 #align direct_sum.lequiv_congr_left_apply DirectSum.lequivCongrLeft_apply
+-/
 
 end CongrLeft
 
@@ -295,11 +323,13 @@ noncomputable def sigmaLcurry : (⨁ i : Σ i, _, δ i.1 i.2) →ₗ[R] ⨁ (i)
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 -/
 
+#print DirectSum.sigmaLcurry_apply /-
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σ i, _, δ i.1 i.2) (i : ι) (j : α i) :
     sigmaLcurry R f i j = f ⟨i, j⟩ :=
   sigmaCurry_apply f i j
 #align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_apply
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 #print DirectSum.sigmaLuncurry /-
@@ -311,11 +341,13 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print DirectSum.sigmaLuncurry_apply /-
 @[simp]
 theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)]
     (f : ⨁ (i) (j), δ i j) (i : ι) (j : α i) : sigmaLuncurry R f ⟨i, j⟩ = f i j :=
   sigmaUncurry_apply f i j
 #align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_apply
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 #print DirectSum.sigmaLcurryEquiv /-
@@ -332,14 +364,14 @@ section Option
 
 variable {α : Option ι → Type w} [∀ i, AddCommMonoid (α i)] [∀ i, Module R (α i)]
 
-include dec_ι
-
+#print DirectSum.lequivProdDirectSum /-
 /-- Linear isomorphism obtained by separating the term of index `none` of a direct sum over
 `option ι`.-/
 @[simps]
 noncomputable def lequivProdDirectSum : (⨁ i, α i) ≃ₗ[R] α none × ⨁ i, α (some i) :=
   { addEquivProdDirectSum with map_smul' := Dfinsupp.equivProdDfinsupp_smul }
 #align direct_sum.lequiv_prod_direct_sum DirectSum.lequivProdDirectSum
+-/
 
 end Option
 
@@ -353,8 +385,6 @@ variable {R : Type u} [Semiring R]
 
 variable {ι : Type v} [dec_ι : DecidableEq ι]
 
-include dec_ι
-
 variable {M : Type _} [AddCommMonoid M] [Module R M]
 
 variable (A : ι → Submodule R M)
@@ -367,24 +397,30 @@ def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
 #align direct_sum.coe_linear_map DirectSum.coeLinearMap
 -/
 
+#print DirectSum.coeLinearMap_of /-
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
   toAddMonoid_of _ _ _
 #align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_of
+-/
 
 variable {A}
 
+#print DirectSum.IsInternal.submodule_iSup_eq_top /-
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
 theorem IsInternal.submodule_iSup_eq_top (h : IsInternal A) : iSup A = ⊤ :=
   by
   rw [Submodule.iSup_eq_range_dfinsupp_lsum, LinearMap.range_eq_top]
   exact Function.Bijective.surjective h
 #align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_iSup_eq_top
+-/
 
+#print DirectSum.IsInternal.submodule_independent /-
 /-- If a direct sum of submodules is internal then the submodules are independent. -/
 theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_lsum_injective _ h.Injective
 #align direct_sum.is_internal.submodule_independent DirectSum.IsInternal.submodule_independent
+-/
 
 #print DirectSum.IsInternal.collectedBasis /-
 /-- Given an internal direct sum decomposition of a module `M`, and a basis for each of the
@@ -398,6 +434,7 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
 -/
 
+#print DirectSum.IsInternal.collectedBasis_coe /-
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σ i, α i => ↑(v a.1 a.2) :=
@@ -412,11 +449,15 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     sigmaFinsuppLequivDfinsupp_apply]
   convert Dfinsupp.sumAddHom_single (fun i => (A i).Subtype.toAddMonoidHom) a.1 (v a.1 a.2)
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
+-/
 
+#print DirectSum.IsInternal.collectedBasis_mem /-
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σ i, α i) : h.collectedBasis v a ∈ A a.1 := by simp
 #align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_mem
+-/
 
+#print DirectSum.IsInternal.isCompl /-
 /-- When indexed by only two distinct elements, `direct_sum.is_internal` implies
 the two submodules are complementary. Over a `ring R`, this is true as an iff, as
 `direct_sum.is_internal_iff_is_compl`. -/
@@ -428,6 +469,7 @@ theorem IsInternal.isCompl {A : ι → Submodule R M} {i j : ι} (hij : i ≠ j)
         hi.submodule_iSup_eq_top.symm.trans <| by
           rw [← sSup_pair, iSup, ← Set.image_univ, h, Set.image_insert_eq, Set.image_singleton]⟩
 #align direct_sum.is_internal.is_compl DirectSum.IsInternal.isCompl
+-/
 
 end Semiring
 
@@ -437,10 +479,9 @@ variable {R : Type u} [Ring R]
 
 variable {ι : Type v} [dec_ι : DecidableEq ι]
 
-include dec_ι
-
 variable {M : Type _} [AddCommGroup M] [Module R M]
 
+#print DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top /-
 /-- Note that this is not generally true for `[semiring R]`; see
 `complete_lattice.independent.dfinsupp_lsum_injective` for details. -/
 theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule R M}
@@ -448,7 +489,9 @@ theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule
   ⟨hi.dfinsupp_lsum_injective,
     LinearMap.range_eq_top.1 <| (Submodule.iSup_eq_range_dfinsupp_lsum _).symm.trans hs⟩
 #align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top
+-/
 
+#print DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top /-
 /-- `iff` version of `direct_sum.is_internal_submodule_of_independent_of_supr_eq_top`,
 `direct_sum.is_internal.independent`, and `direct_sum.is_internal.supr_eq_top`.
 -/
@@ -457,7 +500,9 @@ theorem isInternal_submodule_iff_independent_and_iSup_eq_top (A : ι → Submodu
   ⟨fun i => ⟨i.submodule_independent, i.submodule_iSup_eq_top⟩,
     And.ndrec isInternal_submodule_of_independent_of_iSup_eq_top⟩
 #align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top
+-/
 
+#print DirectSum.isInternal_submodule_iff_isCompl /-
 /-- If a collection of submodules has just two indices, `i` and `j`, then
 `direct_sum.is_internal` is equivalent to `is_compl`. -/
 theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (hij : i ≠ j)
@@ -468,19 +513,24 @@ theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (
     Set.image_insert_eq, Set.image_singleton, sSup_pair, CompleteLattice.independent_pair hij this]
   exact ⟨fun ⟨hd, ht⟩ => ⟨hd, codisjoint_iff.mpr ht⟩, fun ⟨hd, ht⟩ => ⟨hd, ht.eq_top⟩⟩
 #align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isCompl
+-/
 
 /-! Now copy the lemmas for subgroup and submonoids. -/
 
 
+#print DirectSum.IsInternal.addSubmonoid_independent /-
 theorem IsInternal.addSubmonoid_independent {M : Type _} [AddCommMonoid M] {A : ι → AddSubmonoid M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective _ h.Injective
 #align direct_sum.is_internal.add_submonoid_independent DirectSum.IsInternal.addSubmonoid_independent
+-/
 
+#print DirectSum.IsInternal.addSubgroup_independent /-
 theorem IsInternal.addSubgroup_independent {M : Type _} [AddCommGroup M] {A : ι → AddSubgroup M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective' _ h.Injective
 #align direct_sum.is_internal.add_subgroup_independent DirectSum.IsInternal.addSubgroup_independent
+-/
 
 end Ring
 
Diff
@@ -69,15 +69,19 @@ include dec_ι
 
 variable (R ι M)
 
+#print DirectSum.lmk /-
 /-- Create the direct sum given a family `M` of `R` modules indexed over `ι`. -/
 def lmk : ∀ s : Finset ι, (∀ i : (↑s : Set ι), M i.val) →ₗ[R] ⨁ i, M i :=
   Dfinsupp.lmk
 #align direct_sum.lmk DirectSum.lmk
+-/
 
+#print DirectSum.lof /-
 /-- Inclusion of each component into the direct sum. -/
 def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
   Dfinsupp.lsingle
 #align direct_sum.lof DirectSum.lof
+-/
 
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
   rfl
@@ -112,10 +116,12 @@ variable (φ : ∀ i, M i →ₗ[R] N)
 
 variable (R ι N φ)
 
+#print DirectSum.toModule /-
 /-- The linear map constructed using the universal property of the coproduct. -/
 def toModule : (⨁ i, M i) →ₗ[R] N :=
   Dfinsupp.lsum ℕ φ
 #align direct_sum.to_module DirectSum.toModule
+-/
 
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
@@ -143,6 +149,7 @@ theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.c
 
 variable {ψ} {ψ' : (⨁ i, M i) →ₗ[R] N}
 
+#print DirectSum.linearMap_ext /-
 /-- Two `linear_map`s out of a direct sum are equal if they agree on the generators.
 
 See note [partially-applied ext lemmas]. -/
@@ -151,18 +158,22 @@ theorem linearMap_ext ⦃ψ ψ' : (⨁ i, M i) →ₗ[R] N⦄
     (H : ∀ i, ψ.comp (lof R ι M i) = ψ'.comp (lof R ι M i)) : ψ = ψ' :=
   Dfinsupp.lhom_ext' H
 #align direct_sum.linear_map_ext DirectSum.linearMap_ext
+-/
 
+#print DirectSum.lsetToSet /-
 /-- The inclusion of a subset of the direct summands
 into a larger subset of the direct summands, as a linear map.
 -/
 def lsetToSet (S T : Set ι) (H : S ⊆ T) : (⨁ i : S, M i) →ₗ[R] ⨁ i : T, M i :=
   toModule R _ _ fun i => lof R T (fun i : Subtype T => M i) ⟨i, H i.Prop⟩
 #align direct_sum.lset_to_set DirectSum.lsetToSet
+-/
 
 omit dec_ι
 
 variable (ι M)
 
+#print DirectSum.linearEquivFunOnFintype /-
 /-- Given `fintype α`, `linear_equiv_fun_on_fintype R` is the natural `R`-linear equivalence
 between `⨁ i, M i` and `Π i, M i`. -/
 @[simps apply]
@@ -172,6 +183,7 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
     map_add' := fun f g => by ext; simp only [add_apply, Pi.add_apply]
     map_smul' := fun c f => by ext; simp only [Dfinsupp.coe_smul, RingHom.id_apply] }
 #align direct_sum.linear_equiv_fun_on_fintype DirectSum.linearEquivFunOnFintype
+-/
 
 variable {ι M}
 
@@ -199,18 +211,22 @@ theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
     (linearEquivFunOnFintype R ι M).symm f = f := by ext; simp [linear_equiv_fun_on_fintype]
 #align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coe
 
+#print DirectSum.lid /-
 /-- The natural linear equivalence between `⨁ _ : ι, M` and `M` when `unique ι`. -/
 protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module R M] [Unique ι] :
     (⨁ _ : ι, M) ≃ₗ[R] M :=
   { DirectSum.id M ι, toModule R ι M fun i => LinearMap.id with }
 #align direct_sum.lid DirectSum.lid
+-/
 
 variable (ι M)
 
+#print DirectSum.component /-
 /-- The projection map onto one component, as a linear map. -/
 def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
   Dfinsupp.lapply i
 #align direct_sum.component DirectSum.component
+-/
 
 variable {ι M}
 
@@ -272,10 +288,12 @@ variable {α : ι → Type _} {δ : ∀ i, α i → Type w}
 variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print DirectSum.sigmaLcurry /-
 /-- `curry` as a linear map.-/
 noncomputable def sigmaLcurry : (⨁ i : Σ i, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurry with map_smul' := fun r => by convert @Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
+-/
 
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σ i, _, δ i.1 i.2) (i : ι) (j : α i) :
@@ -284,11 +302,13 @@ theorem sigmaLcurry_apply (f : ⨁ i : Σ i, _, δ i.1 i.2) (i : ι) (j : α i)
 #align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_apply
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print DirectSum.sigmaLuncurry /-
 /-- `uncurry` as a linear map.-/
 def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
     (⨁ (i) (j), δ i j) →ₗ[R] ⨁ i : Σ i, _, δ i.1 i.2 :=
   { sigmaUncurry with map_smul' := Dfinsupp.sigmaUncurry_smul }
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
@@ -298,11 +318,13 @@ theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (
 #align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_apply
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print DirectSum.sigmaLcurryEquiv /-
 /-- `curry_equiv` as a linear equiv.-/
 noncomputable def sigmaLcurryEquiv [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
     (⨁ i : Σ i, _, δ i.1 i.2) ≃ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurryEquiv, sigmaLcurry R with }
 #align direct_sum.sigma_lcurry_equiv DirectSum.sigmaLcurryEquiv
+-/
 
 end Sigma
 
@@ -337,11 +359,13 @@ variable {M : Type _} [AddCommMonoid M] [Module R M]
 
 variable (A : ι → Submodule R M)
 
+#print DirectSum.coeLinearMap /-
 /-- The canonical embedding from `⨁ i, A i` to `M`  where `A` is a collection of `submodule R M`
 indexed by `ι`. This is `direct_sum.coe_add_monoid_hom` as a `linear_map`. -/
 def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
   toModule R ι M fun i => (A i).Subtype
 #align direct_sum.coe_linear_map DirectSum.coeLinearMap
+-/
 
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
Diff
@@ -274,7 +274,7 @@ variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry` as a linear map.-/
 noncomputable def sigmaLcurry : (⨁ i : Σ i, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
-  { sigmaCurry with map_smul' := fun r => by convert@Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
+  { sigmaCurry with map_smul' := fun r => by convert @Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
 @[simp]
Diff
@@ -273,12 +273,12 @@ variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry` as a linear map.-/
-noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
+noncomputable def sigmaLcurry : (⨁ i : Σ i, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurry with map_smul' := fun r => by convert@Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
 @[simp]
-theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
+theorem sigmaLcurry_apply (f : ⨁ i : Σ i, _, δ i.1 i.2) (i : ι) (j : α i) :
     sigmaLcurry R f i j = f ⟨i, j⟩ :=
   sigmaCurry_apply f i j
 #align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_apply
@@ -286,7 +286,7 @@ theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `uncurry` as a linear map.-/
 def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
-    (⨁ (i) (j), δ i j) →ₗ[R] ⨁ i : Σi, _, δ i.1 i.2 :=
+    (⨁ (i) (j), δ i j) →ₗ[R] ⨁ i : Σ i, _, δ i.1 i.2 :=
   { sigmaUncurry with map_smul' := Dfinsupp.sigmaUncurry_smul }
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
 
@@ -300,7 +300,7 @@ theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry_equiv` as a linear equiv.-/
 noncomputable def sigmaLcurryEquiv [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
-    (⨁ i : Σi, _, δ i.1 i.2) ≃ₗ[R] ⨁ (i) (j), δ i j :=
+    (⨁ i : Σ i, _, δ i.1 i.2) ≃ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurryEquiv, sigmaLcurry R with }
 #align direct_sum.sigma_lcurry_equiv DirectSum.sigmaLcurryEquiv
 
@@ -366,7 +366,7 @@ theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.In
 /-- Given an internal direct sum decomposition of a module `M`, and a basis for each of the
 components of the direct sum, the disjoint union of these bases is a basis for `M`. -/
 noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type _}
-    (v : ∀ i, Basis (α i) R (A i)) : Basis (Σi, α i) R M
+    (v : ∀ i, Basis (α i) R (A i)) : Basis (Σ i, α i) R M
     where repr :=
     ((LinearEquiv.ofBijective (DirectSum.coeLinearMap A) h).symm ≪≫ₗ
         Dfinsupp.mapRange.linearEquiv fun i => (v i).repr) ≪≫ₗ
@@ -376,7 +376,7 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
 
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
-    (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i => ↑(v a.1 a.2) :=
+    (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σ i, α i => ↑(v a.1 a.2) :=
   by
   funext a
   simp only [is_internal.collected_basis, to_module, coe_linear_map, AddEquiv.toFun_eq_coe,
@@ -390,7 +390,7 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
-    (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
+    (v : ∀ i, Basis (α i) R (A i)) (a : Σ i, α i) : h.collectedBasis v a ∈ A a.1 := by simp
 #align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_mem
 
 /-- When indexed by only two distinct elements, `direct_sum.is_internal` implies
Diff
@@ -379,10 +379,11 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i => ↑(v a.1 a.2) :=
   by
   funext a
-  simp only [is_internal.collected_basis, to_module, coe_linear_map, [anonymous], Basis.coe_ofRepr,
-    Basis.repr_symm_apply, Dfinsupp.lsum_apply_apply, Dfinsupp.mapRange.linearEquiv_apply,
-    Dfinsupp.mapRange.linearEquiv_symm, Dfinsupp.mapRange_single, Finsupp.total_single,
-    LinearEquiv.ofBijective_apply, LinearEquiv.symm_symm, LinearEquiv.symm_trans_apply, one_smul,
+  simp only [is_internal.collected_basis, to_module, coe_linear_map, AddEquiv.toFun_eq_coe,
+    Basis.coe_ofRepr, Basis.repr_symm_apply, Dfinsupp.lsum_apply_apply,
+    Dfinsupp.mapRange.linearEquiv_apply, Dfinsupp.mapRange.linearEquiv_symm,
+    Dfinsupp.mapRange_single, Finsupp.total_single, LinearEquiv.ofBijective_apply,
+    LinearEquiv.symm_symm, LinearEquiv.symm_trans_apply, one_smul,
     sigmaFinsuppAddEquivDfinsupp_apply, sigmaFinsuppEquivDfinsupp_single,
     sigmaFinsuppLequivDfinsupp_apply]
   convert Dfinsupp.sumAddHom_single (fun i => (A i).Subtype.toAddMonoidHom) a.1 (v a.1 a.2)
Diff
@@ -35,7 +35,7 @@ universe u v w u₁
 
 namespace DirectSum
 
-open DirectSum
+open scoped DirectSum
 
 section General
 
Diff
@@ -61,12 +61,6 @@ instance {S : Type _} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, Is
 instance [∀ i, Module Rᵐᵒᵖ (M i)] [∀ i, IsCentralScalar R (M i)] : IsCentralScalar R (⨁ i, M i) :=
   Dfinsupp.isCentralScalar
 
-/- warning: direct_sum.smul_apply -> DirectSum.smul_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (b : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) b v) i) (SMul.smul.{u1, u3} R (M i) (SMulZeroClass.toHasSmul.{u1, u3} R (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (SMulWithZero.toSmulZeroClass.{u1, u3} R (M i) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i))))) b (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) v i))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (b : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instHSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) b v) i) (HSMul.hSMul.{u1, u3, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (instHSMul.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (SMulZeroClass.toSMul.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (_inst_2 i))) (SMulWithZero.toSMulZeroClass.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (_inst_2 i))) (MulActionWithZero.toSMulWithZero.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (_inst_2 i))) (Module.toMulActionWithZero.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) _inst_1 (_inst_2 i) (_inst_3 i)))))) b (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) v i))
-Case conversion may be inaccurate. Consider using '#align direct_sum.smul_apply DirectSum.smul_applyₓ'. -/
 theorem smul_apply (b : R) (v : ⨁ i, M i) (i : ι) : (b • v) i = b • v i :=
   Dfinsupp.smul_apply _ _ _
 #align direct_sum.smul_apply DirectSum.smul_apply
@@ -75,61 +69,31 @@ include dec_ι
 
 variable (R ι M)
 
-/- warning: direct_sum.lmk -> DirectSum.lmk is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι), LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) R _inst_1 (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι), LinearMap.{u1, u1, max u2 u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) R _inst_1 (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
-Case conversion may be inaccurate. Consider using '#align direct_sum.lmk DirectSum.lmkₓ'. -/
 /-- Create the direct sum given a family `M` of `R` modules indexed over `ι`. -/
 def lmk : ∀ s : Finset ι, (∀ i : (↑s : Set ι), M i.val) →ₗ[R] ⨁ i, M i :=
   Dfinsupp.lmk
 #align direct_sum.lmk DirectSum.lmk
 
-/- warning: direct_sum.lof -> DirectSum.lof is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
-Case conversion may be inaccurate. Consider using '#align direct_sum.lof DirectSum.lofₓ'. -/
 /-- Inclusion of each component into the direct sum. -/
 def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
   Dfinsupp.lsingle
 #align direct_sum.lof DirectSum.lof
 
-/- warning: direct_sum.lof_eq_of -> DirectSum.lof_eq_of is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
-Case conversion may be inaccurate. Consider using '#align direct_sum.lof_eq_of DirectSum.lof_eq_ofₓ'. -/
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
   rfl
 #align direct_sum.lof_eq_of DirectSum.lof_eq_of
 
 variable {ι M}
 
-/- warning: direct_sum.single_eq_lof -> DirectSum.single_eq_lof is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i))))) (Dfinsupp.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i)))) i b) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Dfinsupp.single.{u2, u3} ι M (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
-Case conversion may be inaccurate. Consider using '#align direct_sum.single_eq_lof DirectSum.single_eq_lofₓ'. -/
 theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b :=
   rfl
 #align direct_sum.single_eq_lof DirectSum.single_eq_lof
 
-/- warning: direct_sum.mk_smul -> DirectSum.mk_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.mk_smul DirectSum.mk_smulₓ'. -/
 /-- Scalar multiplication commutes with direct sums. -/
 theorem mk_smul (s : Finset ι) (c : R) (x) : mk M s (c • x) = c • mk M s x :=
   (lmk R ι M s).map_smul c x
 #align direct_sum.mk_smul DirectSum.mk_smul
 
-/- warning: direct_sum.of_smul -> DirectSum.of_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.of_smul DirectSum.of_smulₓ'. -/
 /-- Scalar multiplication commutes with the inclusion of each component into the direct sum. -/
 theorem of_smul (i : ι) (c : R) (x) : of M i (c • x) = c • of M i x :=
   (lof R ι M i).map_smul c x
@@ -137,12 +101,6 @@ theorem of_smul (i : ι) (c : R) (x) : of M i (c • x) = c • of M i x :=
 
 variable {R}
 
-/- warning: direct_sum.support_smul -> DirectSum.support_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_4 : forall (i : ι) (x : M i), Decidable (Ne.{succ u3} (M i) x (OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))] (c : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), HasSubset.Subset.{u2} (Finset.{u2} ι) (Finset.hasSubset.{u2} ι) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => _inst_2 i) i)))) (fun (i : ι) (x : M i) => _inst_4 i x) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) c v)) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => _inst_2 i) i)))) (fun (i : ι) (x : M i) => _inst_4 i x) v)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_4 : forall (i : ι) (x : M i), Decidable (Ne.{succ u3} (M i) x (OfNat.ofNat.{u3} (M i) 0 (Zero.toOfNat0.{u3} (M i) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))] (c : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), HasSubset.Subset.{u2} (Finset.{u2} ι) (Finset.instHasSubsetFinset.{u2} ι) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) (fun (i : ι) (x : M i) => _inst_4 i x) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instHSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) c v)) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) (fun (i : ι) (x : M i) => _inst_4 i x) v)
-Case conversion may be inaccurate. Consider using '#align direct_sum.support_smul DirectSum.support_smulₓ'. -/
 theorem support_smul [∀ (i : ι) (x : M i), Decidable (x ≠ 0)] (c : R) (v : ⨁ i, M i) :
     (c • v).support ⊆ v.support :=
   Dfinsupp.support_smul _ _
@@ -154,20 +112,11 @@ variable (φ : ∀ i, M i →ₗ[R] N)
 
 variable (R ι N φ)
 
-/- warning: direct_sum.to_module -> DirectSum.toModule is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4], (forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) -> (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4], (forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) -> (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5)
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_module DirectSum.toModuleₓ'. -/
 /-- The linear map constructed using the universal property of the coproduct. -/
 def toModule : (⨁ i, M i) →ₗ[R] N :=
   Dfinsupp.lsum ℕ φ
 #align direct_sum.to_module DirectSum.toModule
 
-/- warning: direct_sum.coe_to_module_eq_coe_to_add_monoid -> DirectSum.coe_toModule_eq_coe_toAddMonoid is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_to_module_eq_coe_to_add_monoid DirectSum.coe_toModule_eq_coe_toAddMonoidₓ'. -/
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
 theorem coe_toModule_eq_coe_toAddMonoid :
@@ -177,9 +126,6 @@ theorem coe_toModule_eq_coe_toAddMonoid :
 
 variable {ι N φ}
 
-/- warning: direct_sum.to_module_lof -> DirectSum.toModule_lof is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_module_lof DirectSum.toModule_lofₓ'. -/
 /-- The map constructed using the universal property gives back the original maps when
 restricted to each component. -/
 @[simp]
@@ -189,9 +135,6 @@ theorem toModule_lof (i) (x : M i) : toModule R ι N φ (lof R ι M i x) = φ i
 
 variable (ψ : (⨁ i, M i) →ₗ[R] N)
 
-/- warning: direct_sum.to_module.unique -> DirectSum.toModule.unique is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_module.unique DirectSum.toModule.uniqueₓ'. -/
 /-- Every linear map from a direct sum agrees with the one obtained by applying
 the universal property to each of its components. -/
 theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.comp <| lof R ι M i) f :=
@@ -200,9 +143,6 @@ theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.c
 
 variable {ψ} {ψ' : (⨁ i, M i) →ₗ[R] N}
 
-/- warning: direct_sum.linear_map_ext -> DirectSum.linearMap_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.linear_map_ext DirectSum.linearMap_extₓ'. -/
 /-- Two `linear_map`s out of a direct sum are equal if they agree on the generators.
 
 See note [partially-applied ext lemmas]. -/
@@ -212,9 +152,6 @@ theorem linearMap_ext ⦃ψ ψ' : (⨁ i, M i) →ₗ[R] N⦄
   Dfinsupp.lhom_ext' H
 #align direct_sum.linear_map_ext DirectSum.linearMap_ext
 
-/- warning: direct_sum.lset_to_set -> DirectSum.lsetToSet is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.lset_to_set DirectSum.lsetToSetₓ'. -/
 /-- The inclusion of a subset of the direct summands
 into a larger subset of the direct summands, as a linear map.
 -/
@@ -226,12 +163,6 @@ omit dec_ι
 
 variable (ι M)
 
-/- warning: direct_sum.linear_equiv_fun_on_fintype -> DirectSum.linearEquivFunOnFintype is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι], LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
-Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype DirectSum.linearEquivFunOnFintypeₓ'. -/
 /-- Given `fintype α`, `linear_equiv_fun_on_fintype R` is the natural `R`-linear equivalence
 between `⨁ i, M i` and `Π i, M i`. -/
 @[simps apply]
@@ -244,9 +175,6 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
 
 variable {ι M}
 
-/- warning: direct_sum.linear_equiv_fun_on_fintype_lof -> DirectSum.linearEquivFunOnFintype_lof is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lofₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m :=
@@ -256,9 +184,6 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
   convert _root_.congr_fun (Dfinsupp.equivFunOnFintype_single i m) a
 #align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lof
 
-/- warning: direct_sum.linear_equiv_fun_on_fintype_symm_single -> DirectSum.linearEquivFunOnFintype_symm_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_singleₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M).symm (Pi.single i m) = lof R ι M i m :=
@@ -269,20 +194,11 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
   rfl
 #align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_single
 
-/- warning: direct_sum.linear_equiv_fun_on_fintype_symm_coe -> DirectSum.linearEquivFunOnFintype_symm_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coeₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
     (linearEquivFunOnFintype R ι M).symm f = f := by ext; simp [linear_equiv_fun_on_fintype]
 #align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coe
 
-/- warning: direct_sum.lid -> DirectSum.lid is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) (ι : optParam.{succ (succ u3)} Type.{u3} PUnit.{succ u3}) [_inst_6 : AddCommMonoid.{u2} M] [_inst_7 : Module.{u1, u2} R M _inst_1 _inst_6] [_inst_8 : Unique.{succ u3} ι], LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) M (DirectSum.addCommMonoid.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) _inst_6 (DirectSum.module.{u1, u3, u2} R _inst_1 ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6) (fun (i : ι) => _inst_7)) _inst_7
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) (ι : optParam.{succ (succ u3)} Type.{u3} PUnit.{succ u3}) [_inst_6 : AddCommMonoid.{u2} M] [_inst_7 : Module.{u1, u2} R M _inst_1 _inst_6] [_inst_8 : Unique.{succ u3} ι], LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) M (instAddCommMonoidDirectSum.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) _inst_6 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u3, u2} R _inst_1 ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6) (fun (i : ι) => _inst_7)) _inst_7
-Case conversion may be inaccurate. Consider using '#align direct_sum.lid DirectSum.lidₓ'. -/
 /-- The natural linear equivalence between `⨁ _ : ι, M` and `M` when `unique ι`. -/
 protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module R M] [Unique ι] :
     (⨁ _ : ι, M) ≃ₗ[R] M :=
@@ -291,12 +207,6 @@ protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module
 
 variable (ι M)
 
-/- warning: direct_sum.component -> DirectSum.component is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)
-Case conversion may be inaccurate. Consider using '#align direct_sum.component DirectSum.componentₓ'. -/
 /-- The projection map onto one component, as a linear map. -/
 def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
   Dfinsupp.lapply i
@@ -304,64 +214,31 @@ def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
 
 variable {ι M}
 
-/- warning: direct_sum.apply_eq_component -> DirectSum.apply_eq_component is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f i) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
-Case conversion may be inaccurate. Consider using '#align direct_sum.apply_eq_component DirectSum.apply_eq_componentₓ'. -/
 theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i f :=
   rfl
 #align direct_sum.apply_eq_component DirectSum.apply_eq_component
 
-/- warning: direct_sum.ext -> DirectSum.ext is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
-Case conversion may be inaccurate. Consider using '#align direct_sum.ext DirectSum.extₓ'. -/
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
   Dfinsupp.ext h
 #align direct_sum.ext DirectSum.ext
 
-/- warning: direct_sum.ext_iff -> DirectSum.ext_iff is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
-Case conversion may be inaccurate. Consider using '#align direct_sum.ext_iff DirectSum.ext_iffₓ'. -/
 theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = component R ι M i g :=
   ⟨fun h _ => by rw [h], ext R⟩
 #align direct_sum.ext_iff DirectSum.ext_iff
 
 include dec_ι
 
-/- warning: direct_sum.lof_apply -> DirectSum.lof_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
-Case conversion may be inaccurate. Consider using '#align direct_sum.lof_apply DirectSum.lof_applyₓ'. -/
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
   Dfinsupp.single_eq_same
 #align direct_sum.lof_apply DirectSum.lof_apply
 
-/- warning: direct_sum.component.lof_self -> DirectSum.component.lof_self is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
-Case conversion may be inaccurate. Consider using '#align direct_sum.component.lof_self DirectSum.component.lof_selfₓ'. -/
 @[simp]
 theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M i) b) = b :=
   lof_apply R i b
 #align direct_sum.component.lof_self DirectSum.component.lof_self
 
-/- warning: direct_sum.component.of -> DirectSum.component.of is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.component.of DirectSum.component.ofₓ'. -/
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
   Dfinsupp.single_apply
@@ -380,9 +257,6 @@ def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k)
 #align direct_sum.lequiv_congr_left DirectSum.lequivCongrLeft
 -/
 
-/- warning: direct_sum.lequiv_congr_left_apply -> DirectSum.lequivCongrLeft_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_congr_left_apply DirectSum.lequivCongrLeft_applyₓ'. -/
 @[simp]
 theorem lequivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, M i) (k : κ) :
     lequivCongrLeft R h f k = f (h.symm k) :=
@@ -397,33 +271,18 @@ variable {α : ι → Type _} {δ : ∀ i, α i → Type w}
 
 variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
-/- warning: direct_sum.sigma_lcurry -> DirectSum.sigmaLcurry is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)], LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)], LinearMap.{u1, u1, max u3 u4 u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u4 u2, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, max u3 u4} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
-Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry DirectSum.sigmaLcurryₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry` as a linear map.-/
 noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurry with map_smul' := fun r => by convert@Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
-/- warning: direct_sum.sigma_lcurry_apply -> DirectSum.sigmaLcurry_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_applyₓ'. -/
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
     sigmaLcurry R f i j = f ⟨i, j⟩ :=
   sigmaCurry_apply f i j
 #align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_apply
 
-/- warning: direct_sum.sigma_luncurry -> DirectSum.sigmaLuncurry is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearMap.{u1, u1, max (max u3 u4) u2, max u3 u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u4 u2, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, max u3 u4} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))
-Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry DirectSum.sigmaLuncurryₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `uncurry` as a linear map.-/
 def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
@@ -431,9 +290,6 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
   { sigmaUncurry with map_smul' := Dfinsupp.sigmaUncurry_smul }
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
 
-/- warning: direct_sum.sigma_luncurry_apply -> DirectSum.sigmaLuncurry_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
 theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)]
@@ -441,12 +297,6 @@ theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (
   sigmaUncurry_apply f i j
 #align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_apply
 
-/- warning: direct_sum.sigma_lcurry_equiv -> DirectSum.sigmaLcurryEquiv is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearEquiv.{u1, u1, max u3 u4 u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{max u4 u2, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, max u3 u4} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
-Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_equiv DirectSum.sigmaLcurryEquivₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry_equiv` as a linear equiv.-/
 noncomputable def sigmaLcurryEquiv [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
@@ -462,12 +312,6 @@ variable {α : Option ι → Type w} [∀ i, AddCommMonoid (α i)] [∀ i, Modul
 
 include dec_ι
 
-/- warning: direct_sum.lequiv_prod_direct_sum -> DirectSum.lequivProdDirectSum is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {α : (Option.{u2} ι) -> Type.{u3}} [_inst_6 : forall (i : Option.{u2} ι), AddCommMonoid.{u3} (α i)] [_inst_7 : forall (i : Option.{u2} ι), Module.{u1, u3} R (α i) _inst_1 (_inst_6 i)], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.{u3, max u2 u3} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (DirectSum.addCommMonoid.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.addCommMonoid.{u3, max u2 u3} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_6 (Option.none.{u2} ι)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (DirectSum.module.{u1, u2, u3} R _inst_1 (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i) (fun (i : Option.{u2} ι) => _inst_7 i)) (Prod.module.{u1, u3, max u2 u3} R (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) _inst_1 (_inst_6 (Option.none.{u2} ι)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_7 (Option.none.{u2} ι)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)) (fun (i : ι) => _inst_7 (Option.some.{u2} ι i))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {α : (Option.{u2} ι) -> Type.{u3}} [_inst_6 : forall (i : Option.{u2} ι), AddCommMonoid.{u3} (α i)] [_inst_7 : forall (i : Option.{u2} ι), Module.{u1, u3} R (α i) _inst_1 (_inst_6 i)], LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.{u3, max u3 u2} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (instAddCommMonoidDirectSum.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.instAddCommMonoidSum.{u3, max u2 u3} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_6 (Option.none.{u2} ι)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i) (fun (i : Option.{u2} ι) => _inst_7 i)) (Prod.module.{u1, u3, max u2 u3} R (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) _inst_1 (_inst_6 (Option.none.{u2} ι)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_7 (Option.none.{u2} ι)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)) (fun (i : ι) => _inst_7 (Option.some.{u2} ι i))))
-Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_prod_direct_sum DirectSum.lequivProdDirectSumₓ'. -/
 /-- Linear isomorphism obtained by separating the term of index `none` of a direct sum over
 `option ι`.-/
 @[simps]
@@ -493,21 +337,12 @@ variable {M : Type _} [AddCommMonoid M] [Module R M]
 
 variable (A : ι → Submodule R M)
 
-/- warning: direct_sum.coe_linear_map -> DirectSum.coeLinearMap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map DirectSum.coeLinearMapₓ'. -/
 /-- The canonical embedding from `⨁ i, A i` to `M`  where `A` is a collection of `submodule R M`
 indexed by `ι`. This is `direct_sum.coe_add_monoid_hom` as a `linear_map`. -/
 def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
   toModule R ι M fun i => (A i).Subtype
 #align direct_sum.coe_linear_map DirectSum.coeLinearMap
 
-/- warning: direct_sum.coe_linear_map_of -> DirectSum.coeLinearMap_of is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_ofₓ'. -/
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
   toAddMonoid_of _ _ _
@@ -515,12 +350,6 @@ theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i
 
 variable {A}
 
-/- warning: direct_sum.is_internal.submodule_supr_eq_top -> DirectSum.IsInternal.submodule_iSup_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (iSup.{u3, succ u2} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_2 _inst_3)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_iSup_eq_topₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
 theorem IsInternal.submodule_iSup_eq_top (h : IsInternal A) : iSup A = ⊤ :=
   by
@@ -528,12 +357,6 @@ theorem IsInternal.submodule_iSup_eq_top (h : IsInternal A) : iSup A = ⊤ :=
   exact Function.Bijective.surjective h
 #align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_iSup_eq_top
 
-/- warning: direct_sum.is_internal.submodule_independent -> DirectSum.IsInternal.submodule_independent is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3) A)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3) A)
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_independent DirectSum.IsInternal.submodule_independentₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules are independent. -/
 theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_lsum_injective _ h.Injective
@@ -551,9 +374,6 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
 -/
 
-/- warning: direct_sum.is_internal.collected_basis_coe -> DirectSum.IsInternal.collectedBasis_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coeₓ'. -/
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i => ↑(v a.1 a.2) :=
@@ -568,19 +388,10 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
   convert Dfinsupp.sumAddHom_single (fun i => (A i).Subtype.toAddMonoidHom) a.1 (v a.1 a.2)
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 
-/- warning: direct_sum.is_internal.collected_basis_mem -> DirectSum.IsInternal.collectedBasis_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_memₓ'. -/
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
 #align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_mem
 
-/- warning: direct_sum.is_internal.is_compl -> DirectSum.IsInternal.isCompl is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u2} ι i j) -> (Eq.{succ u2} (Set.{u2} ι) (Set.univ.{u2} ι) (Insert.insert.{u2, u2} ι (Set.{u2} ι) (Set.hasInsert.{u2} ι) i (Singleton.singleton.{u2, u2} ι (Set.{u2} ι) (Set.hasSingleton.{u2} ι) j))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.is_compl DirectSum.IsInternal.isComplₓ'. -/
 /-- When indexed by only two distinct elements, `direct_sum.is_internal` implies
 the two submodules are complementary. Over a `ring R`, this is true as an iff, as
 `direct_sum.is_internal_iff_is_compl`. -/
@@ -605,12 +416,6 @@ include dec_ι
 
 variable {M : Type _} [AddCommGroup M] [Module R M]
 
-/- warning: direct_sum.is_internal_submodule_of_independent_of_supr_eq_top -> DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (iSup.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A)
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_topₓ'. -/
 /-- Note that this is not generally true for `[semiring R]`; see
 `complete_lattice.independent.dfinsupp_lsum_injective` for details. -/
 theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule R M}
@@ -619,12 +424,6 @@ theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule
     LinearMap.range_eq_top.1 <| (Submodule.iSup_eq_range_dfinsupp_lsum _).symm.trans hs⟩
 #align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top
 
-/- warning: direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top -> DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (iSup.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_topₓ'. -/
 /-- `iff` version of `direct_sum.is_internal_submodule_of_independent_of_supr_eq_top`,
 `direct_sum.is_internal.independent`, and `direct_sum.is_internal.supr_eq_top`.
 -/
@@ -634,12 +433,6 @@ theorem isInternal_submodule_iff_independent_and_iSup_eq_top (A : ι → Submodu
     And.ndrec isInternal_submodule_of_independent_of_iSup_eq_top⟩
 #align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top
 
-/- warning: direct_sum.is_internal_submodule_iff_is_compl -> DirectSum.isInternal_submodule_iff_isCompl is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u2} ι i j) -> (Eq.{succ u2} (Set.{u2} ι) (Set.univ.{u2} ι) (Insert.insert.{u2, u2} ι (Set.{u2} ι) (Set.hasInsert.{u2} ι) i (Singleton.singleton.{u2, u2} ι (Set.{u2} ι) (Set.hasSingleton.{u2} ι) j))) -> (Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (IsCompl.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (A i) (A j)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (IsCompl.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (A i) (A j)))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isComplₓ'. -/
 /-- If a collection of submodules has just two indices, `i` and `j`, then
 `direct_sum.is_internal` is equivalent to `is_compl`. -/
 theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (hij : i ≠ j)
@@ -654,23 +447,11 @@ theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (
 /-! Now copy the lemmas for subgroup and submonoids. -/
 
 
-/- warning: direct_sum.is_internal.add_submonoid_independent -> DirectSum.IsInternal.addSubmonoid_independent is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [dec_ι : DecidableEq.{succ u1} ι] {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] {A : ι -> (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))}, (DirectSum.IsInternal.{u1, u2, u2} ι M (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (fun (a : ι) (b : ι) => dec_ι a b) _inst_4 (AddSubmonoid.setLike.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (AddSubmonoid.add_submonoidClass.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u1, u2} ι (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (AddSubmonoid.completeLattice.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) A)
-but is expected to have type
-  forall {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u1}} [_inst_4 : AddCommMonoid.{u1} M] {A : ι -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)))}, (DirectSum.IsInternal.{u2, u1, u1} ι M (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) (fun (a : ι) (b : ι) => dec_ι a b) _inst_4 (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) (AddSubmonoid.instAddSubmonoidClassAddSubmonoidInstSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u2, u1} ι (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) A)
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.add_submonoid_independent DirectSum.IsInternal.addSubmonoid_independentₓ'. -/
 theorem IsInternal.addSubmonoid_independent {M : Type _} [AddCommMonoid M] {A : ι → AddSubmonoid M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective _ h.Injective
 #align direct_sum.is_internal.add_submonoid_independent DirectSum.IsInternal.addSubmonoid_independent
 
-/- warning: direct_sum.is_internal.add_subgroup_independent -> DirectSum.IsInternal.addSubgroup_independent is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [dec_ι : DecidableEq.{succ u1} ι] {M : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M] {A : ι -> (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4))}, (DirectSum.IsInternal.{u1, u2, u2} ι M (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u2} M _inst_4) (AddSubgroup.setLike.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroupClass.to_addSubmonoidClass.{u2, u2} (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroup.setLike.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroup.add_subgroupClass.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u1, u2} ι (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroup.completeLattice.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) A)
-but is expected to have type
-  forall {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M] {A : ι -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4))}, (DirectSum.IsInternal.{u2, u1, u1} ι M (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_4) (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroupClass.toAddSubmonoidClass.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroup.instAddSubgroupClassAddSubgroupToSubNegAddMonoidInstSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u2, u1} ι (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) A)
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.add_subgroup_independent DirectSum.IsInternal.addSubgroup_independentₓ'. -/
 theorem IsInternal.addSubgroup_independent {M : Type _} [AddCommGroup M] {A : ι → AddSubgroup M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective' _ h.Injective
Diff
@@ -238,12 +238,8 @@ between `⨁ i, M i` and `Π i, M i`. -/
 def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
   { Dfinsupp.equivFunOnFintype with
     toFun := coeFn
-    map_add' := fun f g => by
-      ext
-      simp only [add_apply, Pi.add_apply]
-    map_smul' := fun c f => by
-      ext
-      simp only [Dfinsupp.coe_smul, RingHom.id_apply] }
+    map_add' := fun f g => by ext; simp only [add_apply, Pi.add_apply]
+    map_smul' := fun c f => by ext; simp only [Dfinsupp.coe_smul, RingHom.id_apply] }
 #align direct_sum.linear_equiv_fun_on_fintype DirectSum.linearEquivFunOnFintype
 
 variable {ι M}
@@ -278,10 +274,7 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coeₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
-    (linearEquivFunOnFintype R ι M).symm f = f :=
-  by
-  ext
-  simp [linear_equiv_fun_on_fintype]
+    (linearEquivFunOnFintype R ι M).symm f = f := by ext; simp [linear_equiv_fun_on_fintype]
 #align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coe
 
 /- warning: direct_sum.lid -> DirectSum.lid is a dubious translation:
Diff
@@ -120,10 +120,7 @@ theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b
 #align direct_sum.single_eq_lof DirectSum.single_eq_lof
 
 /- warning: direct_sum.mk_smul -> DirectSum.mk_smul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι) (c : R) (x : forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) (SMul.smul.{u1, max u2 u3} R (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (Pi.instSMul.{u2, u3, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) R (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => SMulZeroClass.toHasSmul.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddZeroClass.toHasZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (Module.toMulActionWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) _inst_1 (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))))) c x)) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => _inst_3 i)))))) c (coeFn.{succ (max u2 u3), succ (max u2 u3)} (AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) x))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι) (c : R) (x : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (instHSMul.{u1, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.instSMul.{u2, u3, u1} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) R (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => SMulZeroClass.toSMul.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (Module.toMulActionWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) _inst_1 (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))))) c x)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (_x : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{max u2 u3, max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (instHSMul.{u1, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.instSMul.{u2, u3, u1} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) R (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => SMulZeroClass.toSMul.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (Module.toMulActionWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) _inst_1 (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))))) c x)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instHSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (SMulZeroClass.toSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) c (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (_x : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{max u2 u3, max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.mk_smul DirectSum.mk_smulₓ'. -/
 /-- Scalar multiplication commutes with direct sums. -/
 theorem mk_smul (s : Finset ι) (c : R) (x) : mk M s (c • x) = c • mk M s x :=
@@ -131,10 +128,7 @@ theorem mk_smul (s : Finset ι) (c : R) (x) : mk M s (c • x) = c • mk M s x
 #align direct_sum.mk_smul DirectSum.mk_smul
 
 /- warning: direct_sum.of_smul -> DirectSum.of_smul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (c : R) (x : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) (SMul.smul.{u1, u3} R (M i) (SMulZeroClass.toHasSmul.{u1, u3} R (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (SMulWithZero.toSmulZeroClass.{u1, u3} R (M i) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i))))) c x)) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => _inst_3 i)))))) c (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) x))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (c : R) (x : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (HSMul.hSMul.{u1, u3, u3} R (M i) (M i) (instHSMul.{u1, u3} R (M i) (SMulZeroClass.toSMul.{u1, u3} R (M i) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i)))))) c x)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) (HSMul.hSMul.{u1, u3, u3} R (M i) (M i) (instHSMul.{u1, u3} R (M i) (SMulZeroClass.toSMul.{u1, u3} R (M i) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i)))))) c x)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instHSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (SMulZeroClass.toSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) c (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.of_smul DirectSum.of_smulₓ'. -/
 /-- Scalar multiplication commutes with the inclusion of each component into the direct sum. -/
 theorem of_smul (i : ι) (c : R) (x) : of M i (c • x) = c • of M i x :=
@@ -172,10 +166,7 @@ def toModule : (⨁ i, M i) →ₗ[R] N :=
 #align direct_sum.to_module DirectSum.toModule
 
 /- warning: direct_sum.coe_to_module_eq_coe_to_add_monoid -> DirectSum.coe_toModule_eq_coe_toAddMonoid is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (succ (max u2 u3)) (succ u4)} ((fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u4)} (AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (fun (_x : AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (AddMonoidHom.hasCoeToFun.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (max (succ u4) (succ u2)) (succ u3)} (forall (a : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) a) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (AddHomClass.toFunLike.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddZeroClass.toAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4)) (AddMonoidHom.addMonoidHomClass.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_to_module_eq_coe_to_add_monoid DirectSum.coe_toModule_eq_coe_toAddMonoidₓ'. -/
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
@@ -187,10 +178,7 @@ theorem coe_toModule_eq_coe_toAddMonoid :
 variable {ι N φ}
 
 /- warning: direct_sum.to_module_lof -> DirectSum.toModule_lof is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) => (M i) -> N) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (succ u4) (succ u3), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_module_lof DirectSum.toModule_lofₓ'. -/
 /-- The map constructed using the universal property gives back the original maps when
 restricted to each component. -/
@@ -202,10 +190,7 @@ theorem toModule_lof (i) (x : M i) : toModule R ι N φ (lof R ι M i x) = φ i
 variable (ψ : (⨁ i, M i) →ₗ[R] N)
 
 /- warning: direct_sum.to_module.unique -> DirectSum.toModule.unique is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_module.unique DirectSum.toModule.uniqueₓ'. -/
 /-- Every linear map from a direct sum agrees with the one obtained by applying
 the universal property to each of its components. -/
@@ -216,10 +201,7 @@ theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.c
 variable {ψ} {ψ' : (⨁ i, M i) →ₗ[R] N}
 
 /- warning: direct_sum.linear_map_ext -> DirectSum.linearMap_ext is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {{ψ : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}} {{ψ' : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}}, (forall (i : ι), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i)) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ' (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) ψ ψ')
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {{ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}} {{ψ' : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}}, (forall (i : ι), Eq.{max (succ u4) (succ u3)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i)) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ' (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) -> (Eq.{max (max (succ u4) (succ u2)) (succ u3)} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) ψ ψ')
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_map_ext DirectSum.linearMap_extₓ'. -/
 /-- Two `linear_map`s out of a direct sum are equal if they agree on the generators.
 
@@ -231,10 +213,7 @@ theorem linearMap_ext ⦃ψ ψ' : (⨁ i, M i) →ₗ[R] N⦄
 #align direct_sum.linear_map_ext DirectSum.linearMap_ext
 
 /- warning: direct_sum.lset_to_set -> DirectSum.lsetToSet is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (S : Set.{u2} ι) (T : Set.{u2} ι), (HasSubset.Subset.{u2} (Set.{u2} ι) (Set.hasSubset.{u2} ι) S T) -> (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i))) (DirectSum.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i))) (DirectSum.addCommMonoid.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i))) (DirectSum.addCommMonoid.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (S : Set.{u2} ι) (T : Set.{u2} ι), (HasSubset.Subset.{u2} (Set.{u2} ι) (Set.instHasSubsetSet.{u2} ι) S T) -> (LinearMap.{u1, u1, max u3 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} (Set.Elem.{u2} ι S) (fun (i : Set.Elem.{u2} ι S) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i))) (DirectSum.{u2, u3} (Set.Elem.{u2} ι T) (fun (i : Set.Elem.{u2} ι T) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i))) (instAddCommMonoidDirectSum.{u2, u3} (Set.Elem.{u2} ι S) (fun (i : Set.Elem.{u2} ι S) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i))) (instAddCommMonoidDirectSum.{u2, u3} (Set.Elem.{u2} ι T) (fun (i : Set.Elem.{u2} ι T) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 (Set.Elem.{u2} ι S) (fun (i : Set.Elem.{u2} ι S) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 (Set.Elem.{u2} ι T) (fun (i : Set.Elem.{u2} ι T) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.lset_to_set DirectSum.lsetToSetₓ'. -/
 /-- The inclusion of a subset of the direct summands
 into a larger subset of the direct summands, as a linear map.
@@ -270,10 +249,7 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
 variable {ι M}
 
 /- warning: direct_sum.linear_equiv_fun_on_fintype_lof -> DirectSum.linearEquivFunOnFintype_lof is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} (forall (i : ι), M i) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (forall (i : ι), M i)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι M (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lofₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
@@ -285,10 +261,7 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
 #align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lof
 
 /- warning: direct_sum.linear_equiv_fun_on_fintype_symm_single -> DirectSum.linearEquivFunOnFintype_symm_single is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_singleₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
@@ -301,10 +274,7 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
 #align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_single
 
 /- warning: direct_sum.linear_equiv_fun_on_fintype_symm_coe -> DirectSum.linearEquivFunOnFintype_symm_coe is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f)) f
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (a : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) a) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) f
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coeₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
@@ -397,10 +367,7 @@ theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M
 #align direct_sum.component.lof_self DirectSum.component.lof_self
 
 /- warning: direct_sum.component.of -> DirectSum.component.of is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M j) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} (M i) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) => M _x) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4825 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.component.of DirectSum.component.ofₓ'. -/
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
@@ -421,10 +388,7 @@ def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k)
 -/
 
 /- warning: direct_sum.lequiv_congr_left_apply -> DirectSum.lequivCongrLeft_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u4}} (h : Equiv.{succ u2, succ u4} ι κ) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u3} (M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (fun (_x : DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) => forall (i : κ), M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (DirectSum.hasCoeToFun.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (coeFn.{max (succ (max u2 u3)) (succ (max u4 u3)), max (succ (max u2 u3)) (succ (max u4 u3))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.lequivCongrLeft.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k))
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {M : ι -> Type.{u4}} [_inst_2 : forall (i : ι), AddCommMonoid.{u4} (M i)] [_inst_3 : forall (i : ι), Module.{u2, u4} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u1}} (h : Equiv.{succ u3, succ u1} ι κ) (f : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u4} ((fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) k) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} κ (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) κ (fun (_x : κ) => (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) _x) (Dfinsupp.funLike.{u1, u4} κ (fun (k : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) k) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SMulZeroClass.toSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toZero.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toAddZeroClass.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribMulAction.toDistribSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u4, max u1 u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (DirectSum.lequivCongrLeft.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Dfinsupp.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_congr_left_apply DirectSum.lequivCongrLeft_applyₓ'. -/
 @[simp]
 theorem lequivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, M i) (k : κ) :
@@ -453,10 +417,7 @@ noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
 /- warning: direct_sum.sigma_lcurry_apply -> DirectSum.sigmaLcurry_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u3} (δ i j) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (fun (_x : LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) => (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) -> (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)))) (LinearMap.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLcurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) f (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_applyₓ'. -/
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
@@ -478,10 +439,7 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
 
 /- warning: direct_sum.sigma_luncurry_apply -> DirectSum.sigmaLuncurry_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)] (f : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u3} (δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (fun (_x : LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) => (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) -> (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (LinearMap.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLuncurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) f i) j)
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
@@ -555,10 +513,7 @@ def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
 #align direct_sum.coe_linear_map DirectSum.coeLinearMap
 
 /- warning: direct_sum.coe_linear_map_of -> DirectSum.coeLinearMap_of is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) => (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.coeLinearMap.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i)))))) x)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_ofₓ'. -/
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
@@ -604,10 +559,7 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
 -/
 
 /- warning: direct_sum.is_internal.collected_basis_coe -> DirectSum.IsInternal.collectedBasis_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (succ (max u2 u4)) (succ u3)} ((Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => (fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))))) (coeFn.{max (succ u4) (succ u1) (succ u3), max (succ u4) (succ u3)} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (fun (_x : Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) => (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) -> (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u3), succ u4, succ u3} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Basis.funLike.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))) (v (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) a)))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (forall (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _x) (Basis.funLike.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (v (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u4, u1} ι (fun (i : ι) => α i) a)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coeₓ'. -/
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
@@ -624,10 +576,7 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 
 /- warning: direct_sum.is_internal.collected_basis_mem -> DirectSum.IsInternal.collectedBasis_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)), Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_memₓ'. -/
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
Diff
@@ -101,7 +101,7 @@ def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
 Case conversion may be inaccurate. Consider using '#align direct_sum.lof_eq_of DirectSum.lof_eq_ofₓ'. -/
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
   rfl
@@ -113,7 +113,7 @@ variable {ι M}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i))))) (Dfinsupp.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i)))) i b) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Dfinsupp.single.{u2, u3} ι M (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Dfinsupp.single.{u2, u3} ι M (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
 Case conversion may be inaccurate. Consider using '#align direct_sum.single_eq_lof DirectSum.single_eq_lofₓ'. -/
 theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b :=
   rfl
@@ -175,7 +175,7 @@ def toModule : (⨁ i, M i) →ₗ[R] N :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (succ (max u2 u3)) (succ u4)} ((fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u4)} (AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (fun (_x : AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (AddMonoidHom.hasCoeToFun.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (max (succ u4) (succ u2)) (succ u3)} (forall (a : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) a) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (AddHomClass.toFunLike.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddZeroClass.toAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4)) (AddMonoidHom.addMonoidHomClass.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (max (succ u4) (succ u2)) (succ u3)} (forall (a : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) a) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (AddHomClass.toFunLike.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddZeroClass.toAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4)) (AddMonoidHom.addMonoidHomClass.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_to_module_eq_coe_to_add_monoid DirectSum.coe_toModule_eq_coe_toAddMonoidₓ'. -/
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
@@ -190,7 +190,7 @@ variable {ι N φ}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) => (M i) -> N) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (succ u4) (succ u3), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (succ u4) (succ u3), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_module_lof DirectSum.toModule_lofₓ'. -/
 /-- The map constructed using the universal property gives back the original maps when
 restricted to each component. -/
@@ -205,7 +205,7 @@ variable (ψ : (⨁ i, M i) →ₗ[R] N)
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_module.unique DirectSum.toModule.uniqueₓ'. -/
 /-- Every linear map from a direct sum agrees with the one obtained by applying
 the universal property to each of its components. -/
@@ -273,7 +273,7 @@ variable {ι M}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} (forall (i : ι), M i) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (forall (i : ι), M i)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι M (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι M (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lofₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
@@ -288,7 +288,7 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_singleₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
@@ -304,7 +304,7 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f)) f
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (a : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) a) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) f
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (a : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) a) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) f
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coeₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
@@ -345,7 +345,7 @@ variable {ι M}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f i) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f i) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
 Case conversion may be inaccurate. Consider using '#align direct_sum.apply_eq_component DirectSum.apply_eq_componentₓ'. -/
 theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i f :=
   rfl
@@ -355,7 +355,7 @@ theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
 Case conversion may be inaccurate. Consider using '#align direct_sum.ext DirectSum.extₓ'. -/
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
@@ -366,7 +366,7 @@ theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
 Case conversion may be inaccurate. Consider using '#align direct_sum.ext_iff DirectSum.ext_iffₓ'. -/
 theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = component R ι M i g :=
   ⟨fun h _ => by rw [h], ext R⟩
@@ -378,7 +378,7 @@ include dec_ι
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
 Case conversion may be inaccurate. Consider using '#align direct_sum.lof_apply DirectSum.lof_applyₓ'. -/
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
@@ -389,7 +389,7 @@ theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
 Case conversion may be inaccurate. Consider using '#align direct_sum.component.lof_self DirectSum.component.lof_selfₓ'. -/
 @[simp]
 theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M i) b) = b :=
@@ -400,7 +400,7 @@ theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M j) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} (M i) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) => M _x) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4825 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4825 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
 Case conversion may be inaccurate. Consider using '#align direct_sum.component.of DirectSum.component.ofₓ'. -/
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
@@ -424,7 +424,7 @@ def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k)
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u4}} (h : Equiv.{succ u2, succ u4} ι κ) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u3} (M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (fun (_x : DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) => forall (i : κ), M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (DirectSum.hasCoeToFun.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (coeFn.{max (succ (max u2 u3)) (succ (max u4 u3)), max (succ (max u2 u3)) (succ (max u4 u3))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.lequivCongrLeft.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k))
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {M : ι -> Type.{u4}} [_inst_2 : forall (i : ι), AddCommMonoid.{u4} (M i)] [_inst_3 : forall (i : ι), Module.{u2, u4} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u1}} (h : Equiv.{succ u3, succ u1} ι κ) (f : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u4} ((fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) k) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} κ (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) κ (fun (_x : κ) => (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) _x) (Dfinsupp.funLike.{u1, u4} κ (fun (k : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) k) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SMulZeroClass.toSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toZero.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toAddZeroClass.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribMulAction.toDistribSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u4, max u1 u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (DirectSum.lequivCongrLeft.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Dfinsupp.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k))
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {M : ι -> Type.{u4}} [_inst_2 : forall (i : ι), AddCommMonoid.{u4} (M i)] [_inst_3 : forall (i : ι), Module.{u2, u4} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u1}} (h : Equiv.{succ u3, succ u1} ι κ) (f : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u4} ((fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) k) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} κ (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) κ (fun (_x : κ) => (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) _x) (Dfinsupp.funLike.{u1, u4} κ (fun (k : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) k) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SMulZeroClass.toSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toZero.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toAddZeroClass.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribMulAction.toDistribSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u4, max u1 u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (DirectSum.lequivCongrLeft.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Dfinsupp.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k))
 Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_congr_left_apply DirectSum.lequivCongrLeft_applyₓ'. -/
 @[simp]
 theorem lequivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, M i) (k : κ) :
@@ -456,7 +456,7 @@ noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u3} (δ i j) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (fun (_x : LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) => (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) -> (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)))) (LinearMap.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLcurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) f (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_applyₓ'. -/
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
@@ -481,7 +481,7 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)] (f : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u3} (δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (fun (_x : LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) => (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) -> (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (LinearMap.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLuncurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) f i) j)
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
@@ -558,7 +558,7 @@ def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) => (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.coeLinearMap.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i)))))) x)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_ofₓ'. -/
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
Diff
@@ -424,7 +424,7 @@ def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k)
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u4}} (h : Equiv.{succ u2, succ u4} ι κ) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u3} (M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (fun (_x : DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) => forall (i : κ), M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (DirectSum.hasCoeToFun.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (coeFn.{max (succ (max u2 u3)) (succ (max u4 u3)), max (succ (max u2 u3)) (succ (max u4 u3))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.lequivCongrLeft.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k))
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {M : ι -> Type.{u4}} [_inst_2 : forall (i : ι), AddCommMonoid.{u4} (M i)] [_inst_3 : forall (i : ι), Module.{u2, u4} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u1}} (h : Equiv.{succ u3, succ u1} ι κ) (f : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u4} ((fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) k) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} κ (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) κ (fun (_x : κ) => (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) _x) (Dfinsupp.funLike.{u1, u4} κ (fun (k : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) k) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SMulZeroClass.toSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toZero.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toAddZeroClass.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribMulAction.toDistribSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u4, max u1 u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (DirectSum.lequivCongrLeft.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Dfinsupp.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k))
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {M : ι -> Type.{u4}} [_inst_2 : forall (i : ι), AddCommMonoid.{u4} (M i)] [_inst_3 : forall (i : ι), Module.{u2, u4} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u1}} (h : Equiv.{succ u3, succ u1} ι κ) (f : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u4} ((fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) k) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} κ (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) κ (fun (_x : κ) => (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) _x) (Dfinsupp.funLike.{u1, u4} κ (fun (k : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) k) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SMulZeroClass.toSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toZero.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toAddZeroClass.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribMulAction.toDistribSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u4, max u1 u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (DirectSum.lequivCongrLeft.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Dfinsupp.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k))
 Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_congr_left_apply DirectSum.lequivCongrLeft_applyₓ'. -/
 @[simp]
 theorem lequivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, M i) (k : κ) :
Diff
@@ -101,7 +101,7 @@ def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
 Case conversion may be inaccurate. Consider using '#align direct_sum.lof_eq_of DirectSum.lof_eq_ofₓ'. -/
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
   rfl
@@ -113,7 +113,7 @@ variable {ι M}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i))))) (Dfinsupp.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i)))) i b) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Dfinsupp.single.{u2, u3} ι M (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Dfinsupp.single.{u2, u3} ι M (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
 Case conversion may be inaccurate. Consider using '#align direct_sum.single_eq_lof DirectSum.single_eq_lofₓ'. -/
 theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b :=
   rfl
@@ -175,7 +175,7 @@ def toModule : (⨁ i, M i) →ₗ[R] N :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (succ (max u2 u3)) (succ u4)} ((fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u4)} (AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (fun (_x : AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (AddMonoidHom.hasCoeToFun.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (max (succ u4) (succ u2)) (succ u3)} (forall (a : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) a) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (AddHomClass.toFunLike.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddZeroClass.toAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4)) (AddMonoidHom.addMonoidHomClass.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (max (succ u4) (succ u2)) (succ u3)} (forall (a : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) a) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (AddHomClass.toFunLike.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddZeroClass.toAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4)) (AddMonoidHom.addMonoidHomClass.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_to_module_eq_coe_to_add_monoid DirectSum.coe_toModule_eq_coe_toAddMonoidₓ'. -/
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
@@ -190,7 +190,7 @@ variable {ι N φ}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) => (M i) -> N) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (succ u4) (succ u3), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (succ u4) (succ u3), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_module_lof DirectSum.toModule_lofₓ'. -/
 /-- The map constructed using the universal property gives back the original maps when
 restricted to each component. -/
@@ -205,7 +205,7 @@ variable (ψ : (⨁ i, M i) →ₗ[R] N)
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_module.unique DirectSum.toModule.uniqueₓ'. -/
 /-- Every linear map from a direct sum agrees with the one obtained by applying
 the universal property to each of its components. -/
@@ -273,7 +273,7 @@ variable {ι M}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} (forall (i : ι), M i) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (forall (i : ι), M i)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι M (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι M (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lofₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
@@ -288,7 +288,7 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
 Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_singleₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
@@ -345,7 +345,7 @@ variable {ι M}
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f i) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f i) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
 Case conversion may be inaccurate. Consider using '#align direct_sum.apply_eq_component DirectSum.apply_eq_componentₓ'. -/
 theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i f :=
   rfl
@@ -355,7 +355,7 @@ theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
 Case conversion may be inaccurate. Consider using '#align direct_sum.ext DirectSum.extₓ'. -/
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
@@ -366,7 +366,7 @@ theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
 Case conversion may be inaccurate. Consider using '#align direct_sum.ext_iff DirectSum.ext_iffₓ'. -/
 theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = component R ι M i g :=
   ⟨fun h _ => by rw [h], ext R⟩
@@ -378,7 +378,7 @@ include dec_ι
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
 Case conversion may be inaccurate. Consider using '#align direct_sum.lof_apply DirectSum.lof_applyₓ'. -/
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
@@ -389,7 +389,7 @@ theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
 Case conversion may be inaccurate. Consider using '#align direct_sum.component.lof_self DirectSum.component.lof_selfₓ'. -/
 @[simp]
 theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M i) b) = b :=
@@ -400,7 +400,7 @@ theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M j) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} (M i) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) => M _x) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4825 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4825 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
 Case conversion may be inaccurate. Consider using '#align direct_sum.component.of DirectSum.component.ofₓ'. -/
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
@@ -456,7 +456,7 @@ noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u3} (δ i j) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (fun (_x : LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) => (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) -> (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)))) (LinearMap.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLcurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) f (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_applyₓ'. -/
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
@@ -481,7 +481,7 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)] (f : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u3} (δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (fun (_x : LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) => (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) -> (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (LinearMap.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLuncurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) f i) j)
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
@@ -558,7 +558,7 @@ def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) => (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.coeLinearMap.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i)))))) x)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_ofₓ'. -/
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
Diff
@@ -567,18 +567,18 @@ theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i
 
 variable {A}
 
-/- warning: direct_sum.is_internal.submodule_supr_eq_top -> DirectSum.IsInternal.submodule_supᵢ_eq_top is a dubious translation:
+/- warning: direct_sum.is_internal.submodule_supr_eq_top -> DirectSum.IsInternal.submodule_iSup_eq_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_2 _inst_3)))
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (iSup.{u3, succ u2} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_2 _inst_3)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_supᵢ_eq_topₓ'. -/
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_iSup_eq_topₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
-theorem IsInternal.submodule_supᵢ_eq_top (h : IsInternal A) : supᵢ A = ⊤ :=
+theorem IsInternal.submodule_iSup_eq_top (h : IsInternal A) : iSup A = ⊤ :=
   by
-  rw [Submodule.supᵢ_eq_range_dfinsupp_lsum, LinearMap.range_eq_top]
+  rw [Submodule.iSup_eq_range_dfinsupp_lsum, LinearMap.range_eq_top]
   exact Function.Bijective.surjective h
-#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_supᵢ_eq_top
+#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_iSup_eq_top
 
 /- warning: direct_sum.is_internal.submodule_independent -> DirectSum.IsInternal.submodule_independent is a dubious translation:
 lean 3 declaration is
@@ -647,8 +647,8 @@ theorem IsInternal.isCompl {A : ι → Submodule R M} {i j : ι} (hij : i ≠ j)
   ⟨hi.submodule_independent.PairwiseDisjoint hij,
     codisjoint_iff.mpr <|
       Eq.symm <|
-        hi.submodule_supᵢ_eq_top.symm.trans <| by
-          rw [← supₛ_pair, supᵢ, ← Set.image_univ, h, Set.image_insert_eq, Set.image_singleton]⟩
+        hi.submodule_iSup_eq_top.symm.trans <| by
+          rw [← sSup_pair, iSup, ← Set.image_univ, h, Set.image_insert_eq, Set.image_singleton]⟩
 #align direct_sum.is_internal.is_compl DirectSum.IsInternal.isCompl
 
 end Semiring
@@ -663,34 +663,34 @@ include dec_ι
 
 variable {M : Type _} [AddCommGroup M] [Module R M]
 
-/- warning: direct_sum.is_internal_submodule_of_independent_of_supr_eq_top -> DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_top is a dubious translation:
+/- warning: direct_sum.is_internal_submodule_of_independent_of_supr_eq_top -> DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A)
+  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (iSup.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A)
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_topₓ'. -/
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A)
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_topₓ'. -/
 /-- Note that this is not generally true for `[semiring R]`; see
 `complete_lattice.independent.dfinsupp_lsum_injective` for details. -/
-theorem isInternal_submodule_of_independent_of_supᵢ_eq_top {A : ι → Submodule R M}
-    (hi : CompleteLattice.Independent A) (hs : supᵢ A = ⊤) : IsInternal A :=
+theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule R M}
+    (hi : CompleteLattice.Independent A) (hs : iSup A = ⊤) : IsInternal A :=
   ⟨hi.dfinsupp_lsum_injective,
-    LinearMap.range_eq_top.1 <| (Submodule.supᵢ_eq_range_dfinsupp_lsum _).symm.trans hs⟩
-#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_top
+    LinearMap.range_eq_top.1 <| (Submodule.iSup_eq_range_dfinsupp_lsum _).symm.trans hs⟩
+#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top
 
-/- warning: direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top -> DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_top is a dubious translation:
+/- warning: direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top -> DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))
+  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (iSup.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_topₓ'. -/
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_topₓ'. -/
 /-- `iff` version of `direct_sum.is_internal_submodule_of_independent_of_supr_eq_top`,
 `direct_sum.is_internal.independent`, and `direct_sum.is_internal.supr_eq_top`.
 -/
-theorem isInternal_submodule_iff_independent_and_supᵢ_eq_top (A : ι → Submodule R M) :
-    IsInternal A ↔ CompleteLattice.Independent A ∧ supᵢ A = ⊤ :=
-  ⟨fun i => ⟨i.submodule_independent, i.submodule_supᵢ_eq_top⟩,
-    And.ndrec isInternal_submodule_of_independent_of_supᵢ_eq_top⟩
-#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_top
+theorem isInternal_submodule_iff_independent_and_iSup_eq_top (A : ι → Submodule R M) :
+    IsInternal A ↔ CompleteLattice.Independent A ∧ iSup A = ⊤ :=
+  ⟨fun i => ⟨i.submodule_independent, i.submodule_iSup_eq_top⟩,
+    And.ndrec isInternal_submodule_of_independent_of_iSup_eq_top⟩
+#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top
 
 /- warning: direct_sum.is_internal_submodule_iff_is_compl -> DirectSum.isInternal_submodule_iff_isCompl is a dubious translation:
 lean 3 declaration is
@@ -704,8 +704,8 @@ theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (
     (h : (Set.univ : Set ι) = {i, j}) : IsInternal A ↔ IsCompl (A i) (A j) :=
   by
   have : ∀ k, k = i ∨ k = j := fun k => by simpa using set.ext_iff.mp h k
-  rw [is_internal_submodule_iff_independent_and_supr_eq_top, supᵢ, ← Set.image_univ, h,
-    Set.image_insert_eq, Set.image_singleton, supₛ_pair, CompleteLattice.independent_pair hij this]
+  rw [is_internal_submodule_iff_independent_and_supr_eq_top, iSup, ← Set.image_univ, h,
+    Set.image_insert_eq, Set.image_singleton, sSup_pair, CompleteLattice.independent_pair hij this]
   exact ⟨fun ⟨hd, ht⟩ => ⟨hd, codisjoint_iff.mpr ht⟩, fun ⟨hd, ht⟩ => ⟨hd, ht.eq_top⟩⟩
 #align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isCompl
 
Diff
@@ -400,7 +400,7 @@ theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M j) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} (M i) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) => M _x) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4827 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4825 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
 Case conversion may be inaccurate. Consider using '#align direct_sum.component.of DirectSum.component.ofₓ'. -/
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
@@ -456,7 +456,7 @@ noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u3} (δ i j) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (fun (_x : LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) => (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) -> (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)))) (LinearMap.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLcurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) f (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5946) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_applyₓ'. -/
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
@@ -481,7 +481,7 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)] (f : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u3} (δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (fun (_x : LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) => (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) -> (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (LinearMap.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLuncurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) f i) j)
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6195) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
 Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
Diff
@@ -607,14 +607,14 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (succ (max u2 u4)) (succ u3)} ((Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => (fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))))) (coeFn.{max (succ u4) (succ u1) (succ u3), max (succ u4) (succ u3)} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (fun (_x : Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) => (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) -> (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u3), succ u4, succ u3} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Basis.funLike.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))) (v (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) a)))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (forall (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _x) (Basis.funLike.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (v (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u4, u1} ι (fun (i : ι) => α i) a)))
+  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (forall (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _x) (Basis.funLike.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (v (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u4, u1} ι (fun (i : ι) => α i) a)))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coeₓ'. -/
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i => ↑(v a.1 a.2) :=
   by
   funext a
-  simp only [is_internal.collected_basis, to_module, coe_linear_map, [anonymous], Basis.coe_of_repr,
+  simp only [is_internal.collected_basis, to_module, coe_linear_map, [anonymous], Basis.coe_ofRepr,
     Basis.repr_symm_apply, Dfinsupp.lsum_apply_apply, Dfinsupp.mapRange.linearEquiv_apply,
     Dfinsupp.mapRange.linearEquiv_symm, Dfinsupp.mapRange_single, Finsupp.total_single,
     LinearEquiv.ofBijective_apply, LinearEquiv.symm_symm, LinearEquiv.symm_trans_apply, one_smul,
@@ -627,7 +627,7 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)), Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))
+  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_memₓ'. -/
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 
 ! This file was ported from Lean 3 source module algebra.direct_sum.module
-! leanprover-community/mathlib commit 6623e6af705e97002a9054c1c05a980180276fc1
+! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.Dfinsupp
 /-!
 # Direct sum of modules
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 The first part of the file provides constructors for direct sums of modules. It provides a
 construction of the direct sum using the universal property and proves its uniqueness
 (`direct_sum.to_module.unique`).
Diff
@@ -543,7 +543,7 @@ variable (A : ι → Submodule R M)
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map DirectSum.coeLinearMapₓ'. -/
 /-- The canonical embedding from `⨁ i, A i` to `M`  where `A` is a collection of `submodule R M`
 indexed by `ι`. This is `direct_sum.coe_add_monoid_hom` as a `linear_map`. -/
@@ -555,7 +555,7 @@ def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) => (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.coeLinearMap.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i)))))) x)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_ofₓ'. -/
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
@@ -568,7 +568,7 @@ variable {A}
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_2 _inst_3)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_supᵢ_eq_topₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
 theorem IsInternal.submodule_supᵢ_eq_top (h : IsInternal A) : supᵢ A = ⊤ :=
@@ -581,19 +581,14 @@ theorem IsInternal.submodule_supᵢ_eq_top (h : IsInternal A) : supᵢ A = ⊤ :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3) A)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3) A)
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3) A)
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_independent DirectSum.IsInternal.submodule_independentₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules are independent. -/
 theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_lsum_injective _ h.Injective
 #align direct_sum.is_internal.submodule_independent DirectSum.IsInternal.submodule_independent
 
-/- warning: direct_sum.is_internal.collected_basis -> DirectSum.IsInternal.collectedBasis is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (forall {α : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (forall {α : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u3} (α i) R (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> (Basis.{max u4 u2, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasisₓ'. -/
+#print DirectSum.IsInternal.collectedBasis /-
 /-- Given an internal direct sum decomposition of a module `M`, and a basis for each of the
 components of the direct sum, the disjoint union of these bases is a basis for `M`. -/
 noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type _}
@@ -603,12 +598,13 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
         Dfinsupp.mapRange.linearEquiv fun i => (v i).repr) ≪≫ₗ
       (sigmaFinsuppLequivDfinsupp R).symm
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
+-/
 
 /- warning: direct_sum.is_internal.collected_basis_coe -> DirectSum.IsInternal.collectedBasis_coe is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (succ (max u2 u4)) (succ u3)} ((Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => (fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))))) (coeFn.{max (succ u4) (succ u1) (succ u3), max (succ u4) (succ u3)} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (fun (_x : Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) => (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) -> (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u3), succ u4, succ u3} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Basis.funLike.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))) (v (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) a)))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (forall (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _x) (Basis.funLike.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (v (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u4, u1} ι (fun (i : ι) => α i) a)))
+  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (forall (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _x) (Basis.funLike.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (v (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u4, u1} ι (fun (i : ι) => α i) a)))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coeₓ'. -/
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
@@ -628,7 +624,7 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)), Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))
+  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_memₓ'. -/
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
@@ -638,7 +634,7 @@ theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u2} ι i j) -> (Eq.{succ u2} (Set.{u2} ι) (Set.univ.{u2} ι) (Insert.insert.{u2, u2} ι (Set.{u2} ι) (Set.hasInsert.{u2} ι) i (Singleton.singleton.{u2, u2} ι (Set.{u2} ι) (Set.hasSingleton.{u2} ι) j))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.is_compl DirectSum.IsInternal.isComplₓ'. -/
 /-- When indexed by only two distinct elements, `direct_sum.is_internal` implies
 the two submodules are complementary. Over a `ring R`, this is true as an iff, as
@@ -668,7 +664,7 @@ variable {M : Type _} [AddCommGroup M] [Module R M]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A)
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A)
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_topₓ'. -/
 /-- Note that this is not generally true for `[semiring R]`; see
 `complete_lattice.independent.dfinsupp_lsum_injective` for details. -/
@@ -682,7 +678,7 @@ theorem isInternal_submodule_of_independent_of_supᵢ_eq_top {A : ι → Submodu
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_topₓ'. -/
 /-- `iff` version of `direct_sum.is_internal_submodule_of_independent_of_supr_eq_top`,
 `direct_sum.is_internal.independent`, and `direct_sum.is_internal.supr_eq_top`.
@@ -697,7 +693,7 @@ theorem isInternal_submodule_iff_independent_and_supᵢ_eq_top (A : ι → Submo
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u2} ι i j) -> (Eq.{succ u2} (Set.{u2} ι) (Set.univ.{u2} ι) (Insert.insert.{u2, u2} ι (Set.{u2} ι) (Set.hasInsert.{u2} ι) i (Singleton.singleton.{u2, u2} ι (Set.{u2} ι) (Set.hasSingleton.{u2} ι) j))) -> (Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (IsCompl.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (A i) (A j)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (IsCompl.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (A i) (A j)))
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.setLike.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (IsCompl.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (A i) (A j)))
 Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isComplₓ'. -/
 /-- If a collection of submodules has just two indices, `i` and `j`, then
 `direct_sum.is_internal` is equivalent to `is_compl`. -/
Diff
@@ -58,6 +58,12 @@ instance {S : Type _} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, Is
 instance [∀ i, Module Rᵐᵒᵖ (M i)] [∀ i, IsCentralScalar R (M i)] : IsCentralScalar R (⨁ i, M i) :=
   Dfinsupp.isCentralScalar
 
+/- warning: direct_sum.smul_apply -> DirectSum.smul_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (b : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) b v) i) (SMul.smul.{u1, u3} R (M i) (SMulZeroClass.toHasSmul.{u1, u3} R (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (SMulWithZero.toSmulZeroClass.{u1, u3} R (M i) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i))))) b (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) v i))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (b : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instHSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) b v) i) (HSMul.hSMul.{u1, u3, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (instHSMul.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (SMulZeroClass.toSMul.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (_inst_2 i))) (SMulWithZero.toSMulZeroClass.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (_inst_2 i))) (MulActionWithZero.toSMulWithZero.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (_inst_2 i))) (Module.toMulActionWithZero.{u1, u3} R ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) _inst_1 (_inst_2 i) (_inst_3 i)))))) b (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) v i))
+Case conversion may be inaccurate. Consider using '#align direct_sum.smul_apply DirectSum.smul_applyₓ'. -/
 theorem smul_apply (b : R) (v : ⨁ i, M i) (i : ι) : (b • v) i = b • v i :=
   Dfinsupp.smul_apply _ _ _
 #align direct_sum.smul_apply DirectSum.smul_apply
@@ -66,31 +72,67 @@ include dec_ι
 
 variable (R ι M)
 
+/- warning: direct_sum.lmk -> DirectSum.lmk is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι), LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) R _inst_1 (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι), LinearMap.{u1, u1, max u2 u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) R _inst_1 (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
+Case conversion may be inaccurate. Consider using '#align direct_sum.lmk DirectSum.lmkₓ'. -/
 /-- Create the direct sum given a family `M` of `R` modules indexed over `ι`. -/
 def lmk : ∀ s : Finset ι, (∀ i : (↑s : Set ι), M i.val) →ₗ[R] ⨁ i, M i :=
   Dfinsupp.lmk
 #align direct_sum.lmk DirectSum.lmk
 
+/- warning: direct_sum.lof -> DirectSum.lof is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
+Case conversion may be inaccurate. Consider using '#align direct_sum.lof DirectSum.lofₓ'. -/
 /-- Inclusion of each component into the direct sum. -/
 def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
   Dfinsupp.lsingle
 #align direct_sum.lof DirectSum.lof
 
+/- warning: direct_sum.lof_eq_of -> DirectSum.lof_eq_of is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) b)
+Case conversion may be inaccurate. Consider using '#align direct_sum.lof_eq_of DirectSum.lof_eq_ofₓ'. -/
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b :=
   rfl
 #align direct_sum.lof_eq_of DirectSum.lof_eq_of
 
 variable {ι M}
 
+/- warning: direct_sum.single_eq_lof -> DirectSum.single_eq_lof is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ (max u2 u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i))))) (Dfinsupp.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => (fun (i : ι) => _inst_2 i) i) i)))) i b) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{max (succ u2) (succ u3)} (Dfinsupp.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Dfinsupp.single.{u2, u3} ι M (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i b) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)
+Case conversion may be inaccurate. Consider using '#align direct_sum.single_eq_lof DirectSum.single_eq_lofₓ'. -/
 theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b :=
   rfl
 #align direct_sum.single_eq_lof DirectSum.single_eq_lof
 
+/- warning: direct_sum.mk_smul -> DirectSum.mk_smul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι) (c : R) (x : forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) (SMul.smul.{u1, max u2 u3} R (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (Pi.instSMul.{u2, u3, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) R (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => SMulZeroClass.toHasSmul.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddZeroClass.toHasZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (Module.toMulActionWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) _inst_1 (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (_inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))))) c x)) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => _inst_3 i)))))) c (coeFn.{succ (max u2 u3), succ (max u2 u3)} (AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{max u2 u3, max u2 u3} (forall (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addZeroClass.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i)) ((fun (i : ι) => _inst_2 i) (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) x))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (s : Finset.{u2} ι) (c : R) (x : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (instHSMul.{u1, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.instSMul.{u2, u3, u1} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) R (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => SMulZeroClass.toSMul.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (Module.toMulActionWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) _inst_1 (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))))) c x)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (_x : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{max u2 u3, max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (instHSMul.{u1, max u2 u3} R (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.instSMul.{u2, u3, u1} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) R (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => SMulZeroClass.toSMul.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))) (Module.toMulActionWithZero.{u1, u3} R (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) _inst_1 (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))))) c x)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instHSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (SMulZeroClass.toSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) c (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (_x : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)))))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, max u2 u3, max u2 u3} (AddMonoidHom.{max u2 u3, max u3 u2} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{max u2 u3, max u2 u3} (forall (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)), M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addZeroClass.{u2, u3} (Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (fun (i : Set.Elem.{u2} ι (Finset.toSet.{u2} ι s)) => AddMonoid.toAddZeroClass.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (AddCommMonoid.toAddMonoid.{u3} (M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i)) (_inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (Finset.toSet.{u2} ι s)) i))))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.mk.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) s) x))
+Case conversion may be inaccurate. Consider using '#align direct_sum.mk_smul DirectSum.mk_smulₓ'. -/
 /-- Scalar multiplication commutes with direct sums. -/
 theorem mk_smul (s : Finset ι) (c : R) (x) : mk M s (c • x) = c • mk M s x :=
   (lmk R ι M s).map_smul c x
 #align direct_sum.mk_smul DirectSum.mk_smul
 
+/- warning: direct_sum.of_smul -> DirectSum.of_smul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (c : R) (x : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) (SMul.smul.{u1, u3} R (M i) (SMulZeroClass.toHasSmul.{u1, u3} R (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (SMulWithZero.toSmulZeroClass.{u1, u3} R (M i) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i))))) c x)) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => _inst_3 i)))))) c (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) ((fun (i : ι) => _inst_2 i) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) x))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (c : R) (x : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (HSMul.hSMul.{u1, u3, u3} R (M i) (M i) (instHSMul.{u1, u3} R (M i) (SMulZeroClass.toSMul.{u1, u3} R (M i) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i)))))) c x)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) (HSMul.hSMul.{u1, u3, u3} R (M i) (M i) (instHSMul.{u1, u3} R (M i) (SMulZeroClass.toSMul.{u1, u3} R (M i) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (SMulWithZero.toSMulZeroClass.{u1, u3} R (M i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (MulActionWithZero.toSMulWithZero.{u1, u3} R (M i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (Module.toMulActionWithZero.{u1, u3} R (M i) _inst_1 (_inst_2 i) (_inst_3 i)))))) c x)) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instHSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (SMulZeroClass.toSMul.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (AddCommMonoid.toAddMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) x) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) c (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (AddHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toAdd.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddMonoidHomClass.toAddHomClass.{max u2 u3, u3, max u2 u3} (AddMonoidHom.{u3, max u3 u2} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u2 u3} (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) i) x))
+Case conversion may be inaccurate. Consider using '#align direct_sum.of_smul DirectSum.of_smulₓ'. -/
 /-- Scalar multiplication commutes with the inclusion of each component into the direct sum. -/
 theorem of_smul (i : ι) (c : R) (x) : of M i (c • x) = c • of M i x :=
   (lof R ι M i).map_smul c x
@@ -98,6 +140,12 @@ theorem of_smul (i : ι) (c : R) (x) : of M i (c • x) = c • of M i x :=
 
 variable {R}
 
+/- warning: direct_sum.support_smul -> DirectSum.support_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_4 : forall (i : ι) (x : M i), Decidable (Ne.{succ u3} (M i) x (OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))] (c : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), HasSubset.Subset.{u2} (Finset.{u2} ι) (Finset.hasSubset.{u2} ι) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => _inst_2 i) i)))) (fun (i : ι) (x : M i) => _inst_4 i x) (SMul.smul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toHasSmul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) c v)) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M i) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => M i) i) ((fun (i : ι) => _inst_2 i) i)))) (fun (i : ι) (x : M i) => _inst_4 i x) v)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_4 : forall (i : ι) (x : M i), Decidable (Ne.{succ u3} (M i) x (OfNat.ofNat.{u3} (M i) 0 (Zero.toOfNat0.{u3} (M i) (AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))] (c : R) (v : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), HasSubset.Subset.{u2} (Finset.{u2} ι) (Finset.instHasSubsetFinset.{u2} ι) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) (fun (i : ι) (x : M i) => _inst_4 i x) (HSMul.hSMul.{u1, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instHSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (SMulWithZero.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (Module.toMulActionWithZero.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))))))) c v)) (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) (fun (i : ι) (x : M i) => _inst_4 i x) v)
+Case conversion may be inaccurate. Consider using '#align direct_sum.support_smul DirectSum.support_smulₓ'. -/
 theorem support_smul [∀ (i : ι) (x : M i), Decidable (x ≠ 0)] (c : R) (v : ⨁ i, M i) :
     (c • v).support ⊆ v.support :=
   Dfinsupp.support_smul _ _
@@ -109,11 +157,23 @@ variable (φ : ∀ i, M i →ₗ[R] N)
 
 variable (R ι N φ)
 
+/- warning: direct_sum.to_module -> DirectSum.toModule is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4], (forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) -> (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4], (forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) -> (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5)
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_module DirectSum.toModuleₓ'. -/
 /-- The linear map constructed using the universal property of the coproduct. -/
 def toModule : (⨁ i, M i) →ₗ[R] N :=
   Dfinsupp.lsum ℕ φ
 #align direct_sum.to_module DirectSum.toModule
 
+/- warning: direct_sum.coe_to_module_eq_coe_to_add_monoid -> DirectSum.coe_toModule_eq_coe_toAddMonoid is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (succ (max u2 u3)) (succ u4)} ((fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u4)} (AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (fun (_x : AddMonoidHom.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (AddMonoidHom.hasCoeToFun.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (N : Type.{u4}) [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5), Eq.{max (max (succ u4) (succ u2)) (succ u3)} (forall (a : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) a) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (AddHomClass.toFunLike.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddZeroClass.toAdd.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))))) (AddZeroClass.toAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u2) u3, max u2 u3, u4} (AddMonoidHom.{max u3 u2, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4)) (AddMonoidHom.addMonoidHomClass.{max u2 u3, u4} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_4))))) (DirectSum.toAddMonoid.{u2, u3, u4} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) N _inst_4 (fun (i : ι) => LinearMap.toAddMonoidHom.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (φ i))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_to_module_eq_coe_to_add_monoid DirectSum.coe_toModule_eq_coe_toAddMonoidₓ'. -/
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
 from modules to additive monoids. -/
 theorem coe_toModule_eq_coe_toAddMonoid :
@@ -123,6 +183,12 @@ theorem coe_toModule_eq_coe_toAddMonoid :
 
 variable {ι N φ}
 
+/- warning: direct_sum.to_module_lof -> DirectSum.toModule_lof is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) => (M i) -> N) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {φ : forall (i : ι), LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5} (i : ι) (x : M i), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 φ) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) x)) (FunLike.coe.{max (succ u4) (succ u3), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R (M i) N _inst_1 _inst_1 (_inst_2 i) _inst_4 (_inst_3 i) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (φ i) x)
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_module_lof DirectSum.toModule_lofₓ'. -/
 /-- The map constructed using the universal property gives back the original maps when
 restricted to each component. -/
 @[simp]
@@ -132,6 +198,12 @@ theorem toModule_lof (i) (x : M i) : toModule R ι N φ (lof R ι M i x) = φ i
 
 variable (ψ : (⨁ i, M i) →ₗ[R] N)
 
+/- warning: direct_sum.to_module.unique -> DirectSum.toModule.unique is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} N (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) (fun (_x : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5) => (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) N _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => (fun (i : ι) => M i) i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] (ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ f) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u4} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u4} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.toModule.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) N _inst_4 _inst_5 (fun (i : ι) => LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) f)
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_module.unique DirectSum.toModule.uniqueₓ'. -/
 /-- Every linear map from a direct sum agrees with the one obtained by applying
 the universal property to each of its components. -/
 theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.comp <| lof R ι M i) f :=
@@ -140,6 +212,12 @@ theorem toModule.unique (f : ⨁ i, M i) : ψ f = toModule R ι N (fun i => ψ.c
 
 variable {ψ} {ψ' : (⨁ i, M i) →ₗ[R] N}
 
+/- warning: direct_sum.linear_map_ext -> DirectSum.linearMap_ext is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {{ψ : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}} {{ψ' : LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}}, (forall (i : ι), 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 i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i)) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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))) ψ' (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) ψ ψ')
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {N : Type.{u4}} [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u1, u4} R N _inst_1 _inst_4] {{ψ : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}} {{ψ' : LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5}}, (forall (i : ι), Eq.{max (succ u4) (succ u3)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) N (_inst_2 i) _inst_4 (_inst_3 i) _inst_5) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i)) (LinearMap.comp.{u1, u1, u1, u3, max u2 u3, u4} R R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N _inst_1 _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5 (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.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ψ' (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i))) -> (Eq.{max (max (succ u4) (succ u2)) (succ u3)} (LinearMap.{u1, u1, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) N (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_4 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) _inst_5) ψ ψ')
+Case conversion may be inaccurate. Consider using '#align direct_sum.linear_map_ext DirectSum.linearMap_extₓ'. -/
 /-- Two `linear_map`s out of a direct sum are equal if they agree on the generators.
 
 See note [partially-applied ext lemmas]. -/
@@ -149,6 +227,12 @@ theorem linearMap_ext ⦃ψ ψ' : (⨁ i, M i) →ₗ[R] N⦄
   Dfinsupp.lhom_ext' H
 #align direct_sum.linear_map_ext DirectSum.linearMap_ext
 
+/- warning: direct_sum.lset_to_set -> DirectSum.lsetToSet is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (S : Set.{u2} ι) (T : Set.{u2} ι), (HasSubset.Subset.{u2} (Set.{u2} ι) (Set.hasSubset.{u2} ι) S T) -> (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i))) (DirectSum.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i))) (DirectSum.addCommMonoid.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i))) (DirectSum.addCommMonoid.{u2, u3} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) => _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) S) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x S))))) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => M ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i)) (fun (i : coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) => _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} ι) Type.{u2} (Set.hasCoeToSort.{u2} ι) T) ι (coeSubtype.{succ u2} ι (fun (x : ι) => Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) x T))))) i))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (S : Set.{u2} ι) (T : Set.{u2} ι), (HasSubset.Subset.{u2} (Set.{u2} ι) (Set.instHasSubsetSet.{u2} ι) S T) -> (LinearMap.{u1, u1, max u3 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} (Set.Elem.{u2} ι S) (fun (i : Set.Elem.{u2} ι S) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i))) (DirectSum.{u2, u3} (Set.Elem.{u2} ι T) (fun (i : Set.Elem.{u2} ι T) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i))) (instAddCommMonoidDirectSum.{u2, u3} (Set.Elem.{u2} ι S) (fun (i : Set.Elem.{u2} ι S) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i))) (instAddCommMonoidDirectSum.{u2, u3} (Set.Elem.{u2} ι T) (fun (i : Set.Elem.{u2} ι T) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 (Set.Elem.{u2} ι S) (fun (i : Set.Elem.{u2} ι S) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i)) (fun (i : Set.Elem.{u2} ι S) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x S) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 (Set.Elem.{u2} ι T) (fun (i : Set.Elem.{u2} ι T) => M (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_2 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i)) (fun (i : Set.Elem.{u2} ι T) => _inst_3 (Subtype.val.{succ u2} ι (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x T) i))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.lset_to_set DirectSum.lsetToSetₓ'. -/
 /-- The inclusion of a subset of the direct summands
 into a larger subset of the direct summands, as a linear map.
 -/
@@ -160,6 +244,12 @@ omit dec_ι
 
 variable (ι M)
 
+/- warning: direct_sum.linear_equiv_fun_on_fintype -> DirectSum.linearEquivFunOnFintype is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι], LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))
+Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype DirectSum.linearEquivFunOnFintypeₓ'. -/
 /-- Given `fintype α`, `linear_equiv_fun_on_fintype R` is the natural `R`-linear equivalence
 between `⨁ i, M i` and `Π i, M i`. -/
 @[simps apply]
@@ -176,6 +266,12 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
 
 variable {ι M}
 
+/- warning: direct_sum.linear_equiv_fun_on_fintype_lof -> DirectSum.linearEquivFunOnFintype_lof is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} (forall (i : ι), M i) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (forall (i : ι), M i)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (LinearEquiv.{u1, u1, max u3 u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)) (Pi.single.{u2, u3} ι M (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)
+Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lofₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m :=
@@ -185,6 +281,12 @@ theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m :
   convert _root_.congr_fun (Dfinsupp.equivFunOnFintype_single i m) a
 #align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lof
 
+/- warning: direct_sum.linear_equiv_fun_on_fintype_symm_single -> DirectSum.linearEquivFunOnFintype_symm_single is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i)))) i m)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] (i : ι) (m : M i), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (Pi.single.{u2, u3} ι (fun (i : ι) => M i) (fun (a : ι) (b : ι) => _inst_7 a b) (fun (i : ι) => AddMonoid.toZero.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))) i m)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => _inst_7 a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) m)
+Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_singleₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M).symm (Pi.single i m) = lof R ι M i m :=
@@ -195,6 +297,12 @@ theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : 
   rfl
 #align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_single
 
+/- warning: direct_sum.linear_equiv_fun_on_fintype_symm_coe -> DirectSum.linearEquivFunOnFintype_symm_coe is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (forall (i : ι), M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (forall (i : ι), M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f)) f
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] [_inst_6 : Fintype.{u2} ι] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (a : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) a) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (forall (i : ι), M i) (fun (_x : forall (i : ι), M i) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (SMulZeroClass.toSMul.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toZero.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (forall (i : ι), M i) (AddMonoid.toAddZeroClass.{max u2 u3} (forall (i : ι), M i) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (forall (i : ι), M i) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (forall (i : ι), M i) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (forall (i : ι), M i) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u1, max u2 u3} R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (forall (i : ι), M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (forall (i : ι), M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => M i) R _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.linearEquivFunOnFintype.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) _inst_6)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f)) f
+Case conversion may be inaccurate. Consider using '#align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coeₓ'. -/
 @[simp]
 theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
     (linearEquivFunOnFintype R ι M).symm f = f :=
@@ -203,6 +311,12 @@ theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
   simp [linear_equiv_fun_on_fintype]
 #align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coe
 
+/- warning: direct_sum.lid -> DirectSum.lid is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) (ι : optParam.{succ (succ u3)} Type.{u3} PUnit.{succ u3}) [_inst_6 : AddCommMonoid.{u2} M] [_inst_7 : Module.{u1, u2} R M _inst_1 _inst_6] [_inst_8 : Unique.{succ u3} ι], LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) M (DirectSum.addCommMonoid.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) _inst_6 (DirectSum.module.{u1, u3, u2} R _inst_1 ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6) (fun (i : ι) => _inst_7)) _inst_7
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) (ι : optParam.{succ (succ u3)} Type.{u3} PUnit.{succ u3}) [_inst_6 : AddCommMonoid.{u2} M] [_inst_7 : Module.{u1, u2} R M _inst_1 _inst_6] [_inst_8 : Unique.{succ u3} ι], LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) M (instAddCommMonoidDirectSum.{u3, u2} ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6)) _inst_6 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u3, u2} R _inst_1 ι (fun (_x : ι) => M) (fun (i : ι) => _inst_6) (fun (i : ι) => _inst_7)) _inst_7
+Case conversion may be inaccurate. Consider using '#align direct_sum.lid DirectSum.lidₓ'. -/
 /-- The natural linear equivalence between `⨁ _ : ι, M` and `M` when `unique ι`. -/
 protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module R M] [Unique ι] :
     (⨁ _ : ι, M) ≃ₗ[R] M :=
@@ -211,6 +325,12 @@ protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module
 
 variable (ι M)
 
+/- warning: direct_sum.component -> DirectSum.component is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (ι : Type.{u2}) (M : ι -> Type.{u3}) [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι), LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)
+Case conversion may be inaccurate. Consider using '#align direct_sum.component DirectSum.componentₓ'. -/
 /-- The projection map onto one component, as a linear map. -/
 def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
   Dfinsupp.lapply i
@@ -218,31 +338,67 @@ def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
 
 variable {ι M}
 
+/- warning: direct_sum.apply_eq_component -> DirectSum.apply_eq_component is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (i : ι), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f i) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f)
+Case conversion may be inaccurate. Consider using '#align direct_sum.apply_eq_component DirectSum.apply_eq_componentₓ'. -/
 theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i f :=
   rfl
 #align direct_sum.apply_eq_component DirectSum.apply_eq_component
 
+/- warning: direct_sum.ext -> DirectSum.ext is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g)) -> (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g)
+Case conversion may be inaccurate. Consider using '#align direct_sum.ext DirectSum.extₓ'. -/
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
   Dfinsupp.ext h
 #align direct_sum.ext DirectSum.ext
 
+/- warning: direct_sum.ext_iff -> DirectSum.ext_iff is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{succ (max u2 u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)} {g : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)}, Iff (Eq.{max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f g) (forall (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) g))
+Case conversion may be inaccurate. Consider using '#align direct_sum.ext_iff DirectSum.ext_iffₓ'. -/
 theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = component R ι M i g :=
   ⟨fun h _ => by rw [h], ext R⟩
 #align direct_sum.ext_iff DirectSum.ext_iff
 
 include dec_ι
 
+/- warning: direct_sum.lof_apply -> DirectSum.lof_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b) i) b
+Case conversion may be inaccurate. Consider using '#align direct_sum.lof_apply DirectSum.lof_applyₓ'. -/
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
   Dfinsupp.single_eq_same
 #align direct_sum.lof_apply DirectSum.lof_apply
 
+/- warning: direct_sum.component.lof_self -> DirectSum.component.lof_self is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M i) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (b : M i), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (a : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M i) (fun (_x : M i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M i) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M i) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) b)) b
+Case conversion may be inaccurate. Consider using '#align direct_sum.component.lof_self DirectSum.component.lof_selfₓ'. -/
 @[simp]
 theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M i) b) = b :=
   lof_apply R i b
 #align direct_sum.component.lof_self DirectSum.component.lof_self
 
+/- warning: direct_sum.component.of -> DirectSum.component.of is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} (M i) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i)) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) -> (M i)) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) (M i) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) i) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) ((fun (i : ι) => _inst_3 i) i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i))) => (M j) -> (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i))) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) _inst_1 _inst_1 ((fun (i : ι) => _inst_2 i) j) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i)) ((fun (i : ι) => _inst_3 i) j) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => (fun (i : ι) => _inst_2 i) i) (fun (i : ι) => (fun (i : ι) => _inst_3 i) i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} (M i) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) => M _x) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} (M i) 0 (OfNat.mk.{u3} (M i) 0 (Zero.zero.{u3} (M i) (AddZeroClass.toHasZero.{u3} (M i) (AddMonoid.toAddZeroClass.{u3} (M i) (AddCommMonoid.toAddMonoid.{u3} (M i) (_inst_2 i))))))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] (i : ι) (j : ι) (b : M j), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i)) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (M i) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 i) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (_inst_3 i) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.component.{u1, u2, u3} R _inst_1 ι M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (_x : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (dite.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (Eq.{succ u2} ι j i) (dec_ι j i) (fun (h : Eq.{succ u2} ι j i) => Eq.recOn.{succ u3, succ u2} ι j (fun (_x : ι) (x._@.Mathlib.Algebra.DirectSum.Module._hyg.4827 : Eq.{succ u2} ι j _x) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M _x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) i h b) (fun (h : Not (Eq.{succ u2} ι j i)) => OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => M i) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (M j) (fun (a : M j) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M j) => DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R (M j) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 _inst_1 (_inst_2 j) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (_inst_3 j) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.lof.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) j) b)) (_inst_2 i))))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.component.of DirectSum.component.ofₓ'. -/
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
   Dfinsupp.single_apply
@@ -254,11 +410,19 @@ section CongrLeft
 
 variable {κ : Type _}
 
+#print DirectSum.lequivCongrLeft /-
 /-- Reindexing terms of a direct sum is linear.-/
 def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k) :=
   { equivCongrLeft h with map_smul' := Dfinsupp.comapDomain'_smul _ _ }
 #align direct_sum.lequiv_congr_left DirectSum.lequivCongrLeft
+-/
 
+/- warning: direct_sum.lequiv_congr_left_apply -> DirectSum.lequivCongrLeft_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {M : ι -> Type.{u3}} [_inst_2 : forall (i : ι), AddCommMonoid.{u3} (M i)] [_inst_3 : forall (i : ι), Module.{u1, u3} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u4}} (h : Equiv.{succ u2, succ u4} ι κ) (f : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u3} (M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (fun (_x : DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) => forall (i : κ), M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (DirectSum.hasCoeToFun.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (coeFn.{max (succ (max u2 u3)) (succ (max u4 u3)), max (succ (max u2 u3)) (succ (max u4 u3))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) => (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) -> (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.addCommMonoid.{u4, u3} κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.module.{u1, u4, u3} R _inst_1 κ (fun (k : κ) => M (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k)) (fun (i : κ) => _inst_2 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i)) (fun (i : κ) => _inst_3 (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (DirectSum.lequivCongrLeft.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (coeFn.{succ (max u2 u3), max (succ u2) (succ u3)} (DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => forall (i : ι), M i) (DirectSum.hasCoeToFun.{u2, u3} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) f (coeFn.{max 1 (max (succ u4) (succ u2)) (succ u2) (succ u4), max (succ u4) (succ u2)} (Equiv.{succ u4, succ u2} κ ι) (fun (_x : Equiv.{succ u4, succ u2} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u4, succ u2} κ ι) (Equiv.symm.{succ u2, succ u4} ι κ h) k))
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {M : ι -> Type.{u4}} [_inst_2 : forall (i : ι), AddCommMonoid.{u4} (M i)] [_inst_3 : forall (i : ι), Module.{u2, u4} R (M i) _inst_1 (_inst_2 i)] {κ : Type.{u1}} (h : Equiv.{succ u3, succ u1} ι κ) (f : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (k : κ), Eq.{succ u4} ((fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) k) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} κ (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) κ (fun (_x : κ) => (fun (i : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) _x) (Dfinsupp.funLike.{u1, u4} κ (fun (k : κ) => (fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) k) (fun (i : κ) => (fun (i : κ) => AddMonoid.toZero.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : κ) => (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) i) i) ((fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) i))) i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (fun (_x : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) => DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SMulZeroClass.toSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toZero.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddMonoid.toAddZeroClass.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)))) (DistribMulAction.toDistribSMul.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)))))) (SMulZeroClass.toSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toZero.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddMonoid.toAddZeroClass.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))) (DistribMulAction.toDistribSMul.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u4, u2, max u3 u4, max u1 u4} (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i))) (AddCommMonoid.toAddMonoid.{max u1 u4} (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (Module.toDistribMulAction.{u2, max u3 u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i))) (Module.toDistribMulAction.{u2, max u1 u4} R (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u4, max u1 u4, max (max u3 u1) u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (LinearEquiv.{u2, u2, max u4 u3, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u4, max u1 u4} R R (DirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (DirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u4} ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i)) (instAddCommMonoidDirectSum.{u1, u4} κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u4} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 κ (fun (k : κ) => M (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k)) (fun (i : κ) => _inst_2 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i)) (fun (i : κ) => _inst_3 (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (a : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) a) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (DirectSum.lequivCongrLeft.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => M i) (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i) κ h) f) k) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Dfinsupp.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) _x) (Dfinsupp.funLike.{u3, u4} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => M i) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : ι) => (fun (i : ι) => M i) i) i) ((fun (i : ι) => _inst_2 i) i))) i)) f (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} κ ι) (Equiv.symm.{succ u3, succ u1} ι κ h) k))
+Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_congr_left_apply DirectSum.lequivCongrLeft_applyₓ'. -/
 @[simp]
 theorem lequivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, M i) (k : κ) :
     lequivCongrLeft R h f k = f (h.symm k) :=
@@ -273,18 +437,36 @@ variable {α : ι → Type _} {δ : ∀ i, α i → Type w}
 
 variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
+/- warning: direct_sum.sigma_lcurry -> DirectSum.sigmaLcurry is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)], LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)], LinearMap.{u1, u1, max u3 u4 u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u4 u2, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, max u3 u4} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry DirectSum.sigmaLcurryₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry` as a linear map.-/
 noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurry with map_smul' := fun r => by convert@Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
+/- warning: direct_sum.sigma_lcurry_apply -> DirectSum.sigmaLcurry_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u3} (δ i j) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (fun (_x : LinearMap.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) => (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) -> (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)))) (LinearMap.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLcurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) f (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] (f : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) j) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u1 u3, max (max u4 u1) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) => DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLcurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) δ _inst_6 (fun (i : ι) (j : α i) => _inst_7 i j)) f) i) j) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.5948) i)) i))) i)) f (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j))
+Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_applyₓ'. -/
 @[simp]
 theorem sigmaLcurry_apply (f : ⨁ i : Σi, _, δ i.1 i.2) (i : ι) (j : α i) :
     sigmaLcurry R f i j = f ⟨i, j⟩ :=
   sigmaCurry_apply f i j
 #align direct_sum.sigma_lcurry_apply DirectSum.sigmaLcurry_apply
 
+/- warning: direct_sum.sigma_luncurry -> DirectSum.sigmaLuncurry is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearMap.{u1, u1, max (max u3 u4) u2, max u3 u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u4 u2, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, max u3 u4} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry DirectSum.sigmaLuncurryₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `uncurry` as a linear map.-/
 def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
@@ -292,6 +474,12 @@ def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
   { sigmaUncurry with map_smul' := Dfinsupp.sigmaUncurry_smul }
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
 
+/- warning: direct_sum.sigma_luncurry_apply -> DirectSum.sigmaLuncurry_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)] (f : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u3} (δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j))) (coeFn.{succ (max (max u2 u4) u3), max (succ (max u2 u4)) (succ u3)} (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (fun (_x : DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) => forall (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)), δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (DirectSum.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (fun (_x : LinearMap.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) => (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) -> (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)))) (LinearMap.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.sigmaLuncurry.{u1, u2, u3, u4} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u2, u4} ι (fun (i : ι) => α i) i j)) (coeFn.{succ (max u4 u3), max (succ u4) (succ u3)} (DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (_x : DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) => forall (i_1 : α i), δ i i_1) (DirectSum.hasCoeToFun.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (coeFn.{succ (max u2 u4 u3), max (succ u2) (succ (max u4 u3))} (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => forall (i : ι), DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (DirectSum.hasCoeToFun.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) f i) j)
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} {α : ι -> Type.{u1}} {δ : forall (i : ι), (α i) -> Type.{u4}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u4} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u2, u4} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u1} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u4} (δ i j)] (f : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (i : ι) (j : α i), Eq.{succ u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (Sigma.mk.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i j)) (FunLike.coe.{max (succ (max u3 u1)) (succ u4), succ (max u3 u1), succ u4} (Dfinsupp.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i))) i)) (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) _x) (Dfinsupp.funLike.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => AddMonoid.toZero.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) (AddCommMonoid.toAddMonoid.{u4} ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i) i) ((fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) i))) i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3), max (max (succ u1) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max (max u4 u1) u3, max u4 u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i))) (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)))) (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (fun (_x : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) => DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => δ (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i)) (fun (i : Sigma.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i) (Sigma.snd.{u3, u1} ι (fun (x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197 : ι) => α x._@.Mathlib.Algebra.DirectSum.Module._hyg.6197) i))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max (max u1 u4) u3, max (max u1 u4) u3} R R (DirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.{max u1 u3, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, max u4 u1} ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u3 u1, u4} (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, max u4 u1} R _inst_1 ι (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u4} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, max u3 u1, u4} R _inst_1 (Sigma.{u3, u1} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u3, u1} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u3, u1} ι (fun (i : ι) => α i) i) (Sigma.snd.{u3, u1} ι (fun (i : ι) => α i) i))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.sigmaLuncurry.{u2, u3, u4, u1} R _inst_1 ι (fun (i : ι) => α i) (fun (i : ι) (j : α i) => δ i j) (fun (i : ι) (i_1 : α i) => _inst_6 i i_1) (fun (i : ι) (j : α i) => _inst_7 i j) (fun (i : ι) (a : α i) (b : α i) => _inst_8 i a b) (fun (i : ι) (j : α i) (a : δ i j) (b : δ i j) => _inst_9 i j a b)) f) (Sigma.mk.{u3, u1} ι (fun (i : ι) => α i) i j)) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Dfinsupp.{u1, u4} (α i) (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (α i) (fun (_x : α i) => (fun (i_1 : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) _x) (Dfinsupp.funLike.{u1, u4} (α i) (fun (j : α i) => (fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) j) (fun (i_1 : α i) => (fun (i_1 : α i) => AddMonoid.toZero.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) (AddCommMonoid.toAddMonoid.{u4} ((fun (i_1 : α i) => (fun (j : α i) => δ i j) i_1) i_1) ((fun (i_1 : α i) => _inst_6 i i_1) i_1))) i_1)) (FunLike.coe.{max (succ u3) (succ (max u4 u1)), succ u3, succ (max u4 u1)} (Dfinsupp.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) _x) (Dfinsupp.funLike.{u3, max u4 u1} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) (AddCommMonoid.toAddMonoid.{max u4 u1} ((fun (i : ι) => (fun (i : ι) => DirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i) i) ((fun (i : ι) => instAddCommMonoidDirectSum.{u1, u4} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) i))) i)) f i) j)
+Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 @[simp]
 theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)]
@@ -299,6 +487,12 @@ theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (
   sigmaUncurry_apply f i j
 #align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_apply
 
+/- warning: direct_sum.sigma_lcurry_equiv -> DirectSum.sigmaLcurryEquiv is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.addCommMonoid.{u2, max u4 u3} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.module.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.module.{u1, u2, max u4 u3} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.addCommMonoid.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.module.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} {α : ι -> Type.{u4}} {δ : forall (i : ι), (α i) -> Type.{u3}} [_inst_6 : forall (i : ι) (j : α i), AddCommMonoid.{u3} (δ i j)] [_inst_7 : forall (i : ι) (j : α i), Module.{u1, u3} R (δ i j) _inst_1 (_inst_6 i j)] [_inst_8 : forall (i : ι), DecidableEq.{succ u4} (α i)] [_inst_9 : forall (i : ι) (j : α i), DecidableEq.{succ u3} (δ i j)], LinearEquiv.{u1, u1, max u3 u4 u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{max u4 u2, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (instAddCommMonoidDirectSum.{max u2 u4, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (instAddCommMonoidDirectSum.{u2, max u3 u4} ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, max u2 u4, u3} R _inst_1 (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => δ (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_6 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i)) (fun (i : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => _inst_7 (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) i) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) i))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, max u3 u4} R _inst_1 ι (fun (i : ι) => DirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => instAddCommMonoidDirectSum.{u4, u3} (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1)) (fun (i : ι) => DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u4, u3} R _inst_1 (α i) (fun (j : α i) => δ i j) (fun (i_1 : α i) => _inst_6 i i_1) (fun (i_1 : α i) => _inst_7 i i_1)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.sigma_lcurry_equiv DirectSum.sigmaLcurryEquivₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry_equiv` as a linear equiv.-/
 noncomputable def sigmaLcurryEquiv [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
@@ -314,6 +508,12 @@ variable {α : Option ι → Type w} [∀ i, AddCommMonoid (α i)] [∀ i, Modul
 
 include dec_ι
 
+/- warning: direct_sum.lequiv_prod_direct_sum -> DirectSum.lequivProdDirectSum is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {α : (Option.{u2} ι) -> Type.{u3}} [_inst_6 : forall (i : Option.{u2} ι), AddCommMonoid.{u3} (α i)] [_inst_7 : forall (i : Option.{u2} ι), Module.{u1, u3} R (α i) _inst_1 (_inst_6 i)], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.{u3, max u2 u3} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (DirectSum.addCommMonoid.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.addCommMonoid.{u3, max u2 u3} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_6 (Option.none.{u2} ι)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (DirectSum.module.{u1, u2, u3} R _inst_1 (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i) (fun (i : Option.{u2} ι) => _inst_7 i)) (Prod.module.{u1, u3, max u2 u3} R (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) _inst_1 (_inst_6 (Option.none.{u2} ι)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_7 (Option.none.{u2} ι)) (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)) (fun (i : ι) => _inst_7 (Option.some.{u2} ι i))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {α : (Option.{u2} ι) -> Type.{u3}} [_inst_6 : forall (i : Option.{u2} ι), AddCommMonoid.{u3} (α i)] [_inst_7 : forall (i : Option.{u2} ι), Module.{u1, u3} R (α i) _inst_1 (_inst_6 i)], LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (DirectSum.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.{u3, max u3 u2} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (instAddCommMonoidDirectSum.{u2, u3} (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i)) (Prod.instAddCommMonoidSum.{u3, max u2 u3} (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_6 (Option.none.{u2} ι)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)))) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 (Option.{u2} ι) (fun (i : Option.{u2} ι) => α i) (fun (i : Option.{u2} ι) => _inst_6 i) (fun (i : Option.{u2} ι) => _inst_7 i)) (Prod.module.{u1, u3, max u2 u3} R (α (Option.none.{u2} ι)) (DirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) _inst_1 (_inst_6 (Option.none.{u2} ι)) (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i))) (_inst_7 (Option.none.{u2} ι)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => α (Option.some.{u2} ι i)) (fun (i : ι) => _inst_6 (Option.some.{u2} ι i)) (fun (i : ι) => _inst_7 (Option.some.{u2} ι i))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.lequiv_prod_direct_sum DirectSum.lequivProdDirectSumₓ'. -/
 /-- Linear isomorphism obtained by separating the term of index `none` of a direct sum over
 `option ι`.-/
 @[simps]
@@ -339,12 +539,24 @@ variable {M : Type _} [AddCommMonoid M] [Module R M]
 
 variable (A : ι → Submodule R M)
 
+/- warning: direct_sum.coe_linear_map -> DirectSum.coeLinearMap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)), LinearMap.{u1, u1, max u3 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map DirectSum.coeLinearMapₓ'. -/
 /-- The canonical embedding from `⨁ i, A i` to `M`  where `A` is a collection of `submodule R M`
 indexed by `ι`. This is `direct_sum.coe_add_monoid_hom` as a `linear_map`. -/
 def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
   toModule R ι M fun i => (A i).Subtype
 #align direct_sum.coe_linear_map DirectSum.coeLinearMap
 
+/- warning: direct_sum.coe_linear_map_of -> DirectSum.coeLinearMap_of is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (fun (_x : LinearMap.{u1, u1, max u2 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) => (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u3, u3} R R (DirectSum.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.module.{u1, u2, u3} R _inst_1 ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (DirectSum.coeLinearMap.{u1, u2, u3} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ u3) (succ (max u2 u3))} (AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (fun (_x : AddMonoidHom.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) -> (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoidHom.hasCoeToFun.{u3, max u2 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) ((fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))) (AddMonoid.toAddZeroClass.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (AddCommMonoid.toAddMonoid.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i)) (DirectSum.addCommMonoid.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) i) (fun (i : ι) => (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i))))) (DirectSum.of.{u2, u3} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) (fun (i : ι) => Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i)))))) x)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (i : ι) (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (LinearMap.{u2, u2, max u1 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u1, u1} R R (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) M _inst_1 _inst_1 (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_2 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u3, u1} R _inst_1 ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (DirectSum.coeLinearMap.{u2, u3, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i))) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => dec_ι a b) (fun (i : ι) => Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) x (A i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3 (A i)) i) x)) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (A i))) x)
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_ofₓ'. -/
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i => A i) i x) = x :=
   toAddMonoid_of _ _ _
@@ -352,6 +564,12 @@ theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i
 
 variable {A}
 
+/- warning: direct_sum.is_internal.submodule_supr_eq_top -> DirectSum.IsInternal.submodule_supᵢ_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_2 _inst_3)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_supᵢ_eq_topₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
 theorem IsInternal.submodule_supᵢ_eq_top (h : IsInternal A) : supᵢ A = ⊤ :=
   by
@@ -359,11 +577,23 @@ theorem IsInternal.submodule_supᵢ_eq_top (h : IsInternal A) : supᵢ A = ⊤ :
   exact Function.Bijective.surjective h
 #align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_supᵢ_eq_top
 
+/- warning: direct_sum.is_internal.submodule_independent -> DirectSum.IsInternal.submodule_independent is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3) A)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3) A)
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.submodule_independent DirectSum.IsInternal.submodule_independentₓ'. -/
 /-- If a direct sum of submodules is internal then the submodules are independent. -/
 theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_lsum_injective _ h.Injective
 #align direct_sum.is_internal.submodule_independent DirectSum.IsInternal.submodule_independent
 
+/- warning: direct_sum.is_internal.collected_basis -> DirectSum.IsInternal.collectedBasis is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (forall {α : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)}, (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (forall {α : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u3} (α i) R (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) -> (Basis.{max u4 u2, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasisₓ'. -/
 /-- Given an internal direct sum decomposition of a module `M`, and a basis for each of the
 components of the direct sum, the disjoint union of these bases is a basis for `M`. -/
 noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type _}
@@ -374,6 +604,12 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
       (sigmaFinsuppLequivDfinsupp R).symm
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
 
+/- warning: direct_sum.is_internal.collected_basis_coe -> DirectSum.IsInternal.collectedBasis_coe is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (succ (max u2 u4)) (succ u3)} ((Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => α i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)) => (fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))))) (coeFn.{max (succ u4) (succ u1) (succ u3), max (succ u4) (succ u3)} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (fun (_x : Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) => (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) -> (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u3), succ u4, succ u3} (Basis.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Basis.funLike.{u4, u1, u3} (α (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))))) (v (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u2, u4} ι (fun (i : ι) => α i) a)))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (forall (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v)) (fun (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (fun (_x : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) => Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _x) (Basis.funLike.{u1, u3, u2} (α (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)))) (v (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a)) (Sigma.snd.{u4, u1} ι (fun (i : ι) => α i) a)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coeₓ'. -/
 @[simp]
 theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i => ↑(v a.1 a.2) :=
@@ -388,10 +624,22 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
   convert Dfinsupp.sumAddHom_single (fun i => (A i).Subtype.toAddMonoidHom) a.1 (v a.1 a.2)
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 
+/- warning: direct_sum.is_internal.collected_basis_mem -> DirectSum.IsInternal.collectedBasis_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u4}} (v : forall (i : ι), Basis.{u4, u1, u3} (α i) R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i)) _inst_1 (Submodule.addCommMonoid.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.module.{u1, u3} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u2, u4} ι (fun (i : ι) => α i)), Membership.Mem.{u3, u3} M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (coeFn.{max (succ (max u2 u4)) (succ u1) (succ u3), max (succ (max u2 u4)) (succ u3)} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) => (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) -> M) (FunLike.hasCoeToFun.{max (succ (max u2 u4)) (succ u1) (succ u3), succ (max u2 u4), succ u3} (Basis.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) (fun (_x : Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) => M) (Basis.funLike.{max u2 u4, u1, u3} (Sigma.{u2, u4} ι (fun (i : ι) => (fun (i : ι) => α i) i)) R M _inst_1 _inst_2 _inst_3)) (DirectSum.IsInternal.collectedBasis.{u1, u2, u3, u4} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u2, u4} ι (fun (i : ι) => α i) a))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] {ι : Type.{u4}} [dec_ι : DecidableEq.{succ u4} ι] {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)} (h : DirectSum.IsInternal.{u4, u2, u2} ι M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u3, u2} R M _inst_1 _inst_2 _inst_3) A) {α : ι -> Type.{u1}} (v : forall (i : ι), Basis.{u1, u3, u2} (α i) R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) x (A i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3 (A i))) (a : Sigma.{u4, u1} ι (fun (i : ι) => α i)), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) a) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (Basis.{max u1 u4, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (Sigma.{u4, u1} ι (fun (i : ι) => α i)) (fun (_x : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : Sigma.{u4, u1} ι (fun (i : ι) => α i)) => M) _x) (Basis.funLike.{max u4 u1, u3, u2} (Sigma.{u4, u1} ι (fun (i : ι) => α i)) R M _inst_1 _inst_2 _inst_3) (DirectSum.IsInternal.collectedBasis.{u3, u4, u2, u1} R _inst_1 ι (fun (a : ι) (b : ι) => dec_ι a b) M _inst_2 _inst_3 A h (fun (i : ι) => α i) v) a) (A (Sigma.fst.{u4, u1} ι (fun (i : ι) => α i) a))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_memₓ'. -/
 theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
 #align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_mem
 
+/- warning: direct_sum.is_internal.is_compl -> DirectSum.IsInternal.isCompl is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u2} ι i j) -> (Eq.{succ u2} (Set.{u2} ι) (Set.univ.{u2} ι) (Insert.insert.{u2, u2} ι (Set.{u2} ι) (Set.hasInsert.{u2} ι) i (Singleton.singleton.{u2, u2} ι (Set.{u2} ι) (Set.hasSingleton.{u2} ι) j))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.setLike.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u3} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)} {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) _inst_2 (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M _inst_1 _inst_2 _inst_3) A) -> (IsCompl.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (A i) (A j))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.is_compl DirectSum.IsInternal.isComplₓ'. -/
 /-- When indexed by only two distinct elements, `direct_sum.is_internal` implies
 the two submodules are complementary. Over a `ring R`, this is true as an iff, as
 `direct_sum.is_internal_iff_is_compl`. -/
@@ -416,6 +664,12 @@ include dec_ι
 
 variable {M : Type _} [AddCommGroup M] [Module R M]
 
+/- warning: direct_sum.is_internal_submodule_of_independent_of_supr_eq_top -> DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) -> (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) -> (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) -> (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A)
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_topₓ'. -/
 /-- Note that this is not generally true for `[semiring R]`; see
 `complete_lattice.independent.dfinsupp_lsum_injective` for details. -/
 theorem isInternal_submodule_of_independent_of_supᵢ_eq_top {A : ι → Submodule R M}
@@ -424,6 +678,12 @@ theorem isInternal_submodule_of_independent_of_supᵢ_eq_top {A : ι → Submodu
     LinearMap.range_eq_top.1 <| (Submodule.supᵢ_eq_range_dfinsupp_lsum _).symm.trans hs⟩
 #align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_top
 
+/- warning: direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top -> DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u2, u3} ι (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (Eq.{succ u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (supᵢ.{u3, succ u2} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) ι A) (Top.top.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (And (CompleteLattice.Independent.{succ u3, u1} ι (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι A) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_topₓ'. -/
 /-- `iff` version of `direct_sum.is_internal_submodule_of_independent_of_supr_eq_top`,
 `direct_sum.is_internal.independent`, and `direct_sum.is_internal.supr_eq_top`.
 -/
@@ -433,6 +693,12 @@ theorem isInternal_submodule_iff_independent_and_supᵢ_eq_top (A : ι → Submo
     And.ndrec isInternal_submodule_of_independent_of_supᵢ_eq_top⟩
 #align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_top
 
+/- warning: direct_sum.is_internal_submodule_iff_is_compl -> DirectSum.isInternal_submodule_iff_isCompl is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (A : ι -> (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u2} ι i j) -> (Eq.{succ u2} (Set.{u2} ι) (Set.univ.{u2} ι) (Insert.insert.{u2, u2} ι (Set.{u2} ι) (Set.hasInsert.{u2} ι) i (Singleton.singleton.{u2, u2} ι (Set.{u2} ι) (Set.hasSingleton.{u2} ι) j))) -> (Iff (DirectSum.IsInternal.{u2, u3, u3} ι M (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.setLike.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) A) (IsCompl.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u3} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (A i) (A j)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {ι : Type.{u3}} [dec_ι : DecidableEq.{succ u3} ι] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (A : ι -> (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) {i : ι} {j : ι}, (Ne.{succ u3} ι i j) -> (Eq.{succ u3} (Set.{u3} ι) (Set.univ.{u3} ι) (Insert.insert.{u3, u3} ι (Set.{u3} ι) (Set.instInsertSet.{u3} ι) i (Singleton.singleton.{u3, u3} ι (Set.{u3} ι) (Set.instSingletonSet.{u3} ι) j))) -> (Iff (DirectSum.IsInternal.{u3, u1, u1} ι M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.addSubmonoidClass.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) A) (IsCompl.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) (CompleteLattice.toBoundedOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (A i) (A j)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isComplₓ'. -/
 /-- If a collection of submodules has just two indices, `i` and `j`, then
 `direct_sum.is_internal` is equivalent to `is_compl`. -/
 theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (hij : i ≠ j)
@@ -447,11 +713,23 @@ theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (
 /-! Now copy the lemmas for subgroup and submonoids. -/
 
 
+/- warning: direct_sum.is_internal.add_submonoid_independent -> DirectSum.IsInternal.addSubmonoid_independent is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [dec_ι : DecidableEq.{succ u1} ι] {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] {A : ι -> (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))}, (DirectSum.IsInternal.{u1, u2, u2} ι M (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (fun (a : ι) (b : ι) => dec_ι a b) _inst_4 (AddSubmonoid.setLike.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (AddSubmonoid.add_submonoidClass.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u1, u2} ι (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (AddSubmonoid.completeLattice.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) A)
+but is expected to have type
+  forall {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u1}} [_inst_4 : AddCommMonoid.{u1} M] {A : ι -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)))}, (DirectSum.IsInternal.{u2, u1, u1} ι M (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) (fun (a : ι) (b : ι) => dec_ι a b) _inst_4 (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) (AddSubmonoid.instAddSubmonoidClassAddSubmonoidInstSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u2, u1} ι (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))) A)
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.add_submonoid_independent DirectSum.IsInternal.addSubmonoid_independentₓ'. -/
 theorem IsInternal.addSubmonoid_independent {M : Type _} [AddCommMonoid M] {A : ι → AddSubmonoid M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective _ h.Injective
 #align direct_sum.is_internal.add_submonoid_independent DirectSum.IsInternal.addSubmonoid_independent
 
+/- warning: direct_sum.is_internal.add_subgroup_independent -> DirectSum.IsInternal.addSubgroup_independent is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [dec_ι : DecidableEq.{succ u1} ι] {M : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M] {A : ι -> (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4))}, (DirectSum.IsInternal.{u1, u2, u2} ι M (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u2} M _inst_4) (AddSubgroup.setLike.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroupClass.to_addSubmonoidClass.{u2, u2} (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroup.setLike.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroup.add_subgroupClass.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u1, u2} ι (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) (AddSubgroup.completeLattice.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_4)) A)
+but is expected to have type
+  forall {ι : Type.{u2}} [dec_ι : DecidableEq.{succ u2} ι] {M : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M] {A : ι -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4))}, (DirectSum.IsInternal.{u2, u1, u1} ι M (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (fun (a : ι) (b : ι) => dec_ι a b) (AddCommGroup.toAddCommMonoid.{u1} M _inst_4) (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroupClass.toAddSubmonoidClass.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroup.instAddSubgroupClassAddSubgroupToSubNegAddMonoidInstSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4))) A) -> (CompleteLattice.Independent.{succ u2, u1} ι (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_4)) A)
+Case conversion may be inaccurate. Consider using '#align direct_sum.is_internal.add_subgroup_independent DirectSum.IsInternal.addSubgroup_independentₓ'. -/
 theorem IsInternal.addSubgroup_independent {M : Type _} [AddCommGroup M] {A : ι → AddSubgroup M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective' _ h.Injective
Diff
@@ -276,7 +276,7 @@ variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 /-- `curry` as a linear map.-/
 noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
-  { sigmaCurry with map_smul' := fun r => by convert @Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
+  { sigmaCurry with map_smul' := fun r => by convert@Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
 @[simp]

Changes in mathlib4

mathlib3
mathlib4
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -35,9 +35,7 @@ open DirectSum
 section General
 
 variable {R : Type u} [Semiring R]
-
 variable {ι : Type v} [dec_ι : DecidableEq ι]
-
 variable {M : ι → Type w} [∀ i, AddCommMonoid (M i)] [∀ i, Module R (M i)]
 
 instance : Module R (⨁ i, M i) :=
@@ -96,9 +94,7 @@ theorem support_smul [∀ (i : ι) (x : M i), Decidable (x ≠ 0)] (c : R) (v :
 #align direct_sum.support_smul DirectSum.support_smul
 
 variable {N : Type u₁} [AddCommMonoid N] [Module R N]
-
 variable (φ : ∀ i, M i →ₗ[R] N)
-
 variable (R ι N)
 
 /-- The linear map constructed using the universal property of the coproduct. -/
@@ -248,7 +244,6 @@ end CongrLeft
 section Sigma
 
 variable {α : ι → Type*} {δ : ∀ i, α i → Type w}
-
 variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
 /-- `curry` as a linear map. -/
@@ -303,11 +298,8 @@ section Submodule
 section Semiring
 
 variable {R : Type u} [Semiring R]
-
 variable {ι : Type v} [dec_ι : DecidableEq ι]
-
 variable {M : Type*} [AddCommMonoid M] [Module R M]
-
 variable (A : ι → Submodule R M)
 
 /-- The canonical embedding from `⨁ i, A i` to `M` where `A` is a collection of `Submodule R M`
@@ -422,9 +414,7 @@ end Semiring
 section Ring
 
 variable {R : Type u} [Ring R]
-
 variable {ι : Type v} [dec_ι : DecidableEq ι]
-
 variable {M : Type*} [AddCommGroup M] [Module R M]
 
 /-- Note that this is not generally true for `[Semiring R]`; see
feat: add lemma LinearMap.trace_restrict_eq_sum_trace_restrict (#10638)
Diff
@@ -461,6 +461,20 @@ theorem isInternal_ne_bot_iff {A : ι → Submodule R M} :
   simp only [isInternal_submodule_iff_independent_and_iSup_eq_top]
   exact Iff.and CompleteLattice.independent_ne_bot_iff_independent <| by simp
 
+lemma isInternal_biSup_submodule_of_independent {A : ι → Submodule R M} (s : Set ι)
+    (h : CompleteLattice.Independent <| fun i : s ↦ A i) :
+    IsInternal <| fun (i : s) ↦ (A i).comap (⨆ i ∈ s, A i).subtype := by
+  refine (isInternal_submodule_iff_independent_and_iSup_eq_top _).mpr ⟨?_, by simp [iSup_subtype]⟩
+  let p := ⨆ i ∈ s, A i
+  have hp : ∀ i ∈ s, A i ≤ p := fun i hi ↦ le_biSup A hi
+  let e : Submodule R p ≃o Set.Iic p := Submodule.MapSubtype.relIso p
+  suffices (e ∘ fun i : s ↦ (A i).comap p.subtype) = fun i ↦ ⟨A i, hp i i.property⟩ by
+    rw [← CompleteLattice.independent_map_orderIso_iff e, this]
+    exact CompleteLattice.independent_of_independent_coe_Iic_comp h
+  ext i m
+  change m ∈ ((A i).comap p.subtype).map p.subtype ↔ _
+  rw [Submodule.map_comap_subtype, inf_of_le_right (hp i i.property)]
+
 /-! Now copy the lemmas for subgroup and submonoids. -/
 
 
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

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.

Zulip thread

Important changes

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].

Remaining issues

Slower (failing) search

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_params, [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 sometimes

This 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.

Missing instances due to unification failing

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 outParams 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.)

Workaround for issues

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>

Diff
@@ -432,7 +432,9 @@ variable {M : Type*} [AddCommGroup M] [Module R M]
 theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule R M}
     (hi : CompleteLattice.Independent A) (hs : iSup A = ⊤) : IsInternal A :=
   ⟨hi.dfinsupp_lsum_injective,
-    LinearMap.range_eq_top.1 <| (Submodule.iSup_eq_range_dfinsupp_lsum _).symm.trans hs⟩
+    -- Note: #8386 had to specify value of `f`
+    (LinearMap.range_eq_top (f := DFinsupp.lsum _ _)).1 <|
+      (Submodule.iSup_eq_range_dfinsupp_lsum _).symm.trans hs⟩
 #align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top
 
 /-- `iff` version of `DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top`,
chore(*): rename 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>

Diff
@@ -103,7 +103,7 @@ variable (R ι N)
 
 /-- The linear map constructed using the universal property of the coproduct. -/
 def toModule : (⨁ i, M i) →ₗ[R] N :=
-  FunLike.coe (DFinsupp.lsum ℕ) φ
+  DFunLike.coe (DFinsupp.lsum ℕ) φ
 #align direct_sum.to_module DirectSum.toModule
 
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
feat: if a Lie algebra has non-degenerate Killing form then its Cartan subalgebras are Abelian (#8430)

Note: the proof (due to Zassenhaus) makes no assumption about the characteristic of the coefficients.

Diff
@@ -453,6 +453,12 @@ theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (
   exact ⟨fun ⟨hd, ht⟩ ↦ ⟨hd, codisjoint_iff.mpr ht⟩, fun ⟨hd, ht⟩ ↦ ⟨hd, ht.eq_top⟩⟩
 #align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isCompl
 
+@[simp]
+theorem isInternal_ne_bot_iff {A : ι → Submodule R M} :
+    IsInternal (fun i : {i // A i ≠ ⊥} ↦ A i) ↔ IsInternal A := by
+  simp only [isInternal_submodule_iff_independent_and_iSup_eq_top]
+  exact Iff.and CompleteLattice.independent_ne_bot_iff_independent <| by simp
+
 /-! Now copy the lemmas for subgroup and submonoids. -/
 
 
feat: the trace of a direct sum is the sum of the traces (#8369)
Diff
@@ -324,6 +324,28 @@ theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i
 
 variable {A}
 
+@[simp]
+theorem IsInternal.ofBijective_coeLinearMap_same (h : IsInternal A)
+    {i : ι} (x : A i) :
+    (LinearEquiv.ofBijective (coeLinearMap A) h).symm x i = x := by
+  rw [← coeLinearMap_of, LinearEquiv.ofBijective_symm_apply_apply, of_eq_same]
+
+@[simp]
+theorem IsInternal.ofBijective_coeLinearMap_of_ne (h : IsInternal A)
+    {i j : ι} (hij : i ≠ j) (x : A i) :
+    (LinearEquiv.ofBijective (coeLinearMap A) h).symm x j = 0 := by
+  rw [← coeLinearMap_of, LinearEquiv.ofBijective_symm_apply_apply, of_eq_of_ne _ i j _ hij]
+
+theorem IsInternal.ofBijective_coeLinearMap_of_mem (h : IsInternal A)
+    {i : ι} {x : M} (hx : x ∈ A i) :
+    (LinearEquiv.ofBijective (coeLinearMap A) h).symm x i = ⟨x, hx⟩ :=
+  h.ofBijective_coeLinearMap_same ⟨x, hx⟩
+
+theorem IsInternal.ofBijective_coeLinearMap_of_mem_ne (h : IsInternal A)
+    {i j : ι} (hij : i ≠ j) {x : M} (hx : x ∈ A i) :
+    (LinearEquiv.ofBijective (coeLinearMap A) h).symm x j = 0 :=
+  h.ofBijective_coeLinearMap_of_ne hij ⟨x, hx⟩
+
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
 theorem IsInternal.submodule_iSup_eq_top (h : IsInternal A) : iSup A = ⊤ := by
   rw [Submodule.iSup_eq_range_dfinsupp_lsum, LinearMap.range_eq_top]
@@ -373,6 +395,18 @@ theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type*}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
 #align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_mem
 
+theorem IsInternal.collectedBasis_repr_of_mem (h : IsInternal A) {α : ι → Type*}
+    (v : ∀ i, Basis (α i) R (A i)) {x : M} {i : ι} {a : α i} (hx : x ∈ A i) :
+    (h.collectedBasis v).repr x ⟨i, a⟩ = (v i).repr ⟨x, hx⟩ a := by
+  change (sigmaFinsuppLequivDFinsupp R).symm (DFinsupp.mapRange _ (fun i ↦ map_zero _) _) _ = _
+  simp [h.ofBijective_coeLinearMap_of_mem hx]
+
+theorem IsInternal.collectedBasis_repr_of_mem_ne (h : IsInternal A) {α : ι → Type*}
+    (v : ∀ i, Basis (α i) R (A i)) {x : M} {i j : ι} (hij : i ≠ j) {a : α j} (hx : x ∈ A i) :
+    (h.collectedBasis v).repr x ⟨j, a⟩ = 0 := by
+  change (sigmaFinsuppLequivDFinsupp R).symm (DFinsupp.mapRange _ (fun i ↦ map_zero _) _) _ = _
+  simp [h.ofBijective_coeLinearMap_of_mem_ne hij hx]
+
 /-- When indexed by only two distinct elements, `DirectSum.IsInternal` implies
 the two submodules are complementary. Over a `Ring R`, this is true as an iff, as
 `DirectSum.isInternal_submodule_iff_isCompl`. -/
style: fix wrapping of where (#7149)
Diff
@@ -338,8 +338,8 @@ theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.In
 /-- Given an internal direct sum decomposition of a module `M`, and a basis for each of the
 components of the direct sum, the disjoint union of these bases is a basis for `M`. -/
 noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type*}
-    (v : ∀ i, Basis (α i) R (A i)) : Basis (Σi, α i) R M
-    where repr :=
+    (v : ∀ i, Basis (α i) R (A i)) : Basis (Σi, α i) R M where
+  repr :=
     ((LinearEquiv.ofBijective (DirectSum.coeLinearMap A) h).symm ≪≫ₗ
         DFinsupp.mapRange.linearEquiv fun i ↦ (v i).repr) ≪≫ₗ
       (sigmaFinsuppLequivDFinsupp R).symm
chore(LinearAlgebra/DFinsupp): remove dependency on Basis (#6706)

The motivation here is to explore re-defining Basis with DFinsupp instead of Finsupp, in order to make it computable.

Diff
@@ -5,6 +5,7 @@ Authors: Kenny Lau
 -/
 import Mathlib.Algebra.DirectSum.Basic
 import Mathlib.LinearAlgebra.DFinsupp
+import Mathlib.LinearAlgebra.Basis
 
 #align_import algebra.direct_sum.module from "leanprover-community/mathlib"@"6623e6af705e97002a9054c1c05a980180276fc1"
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -42,11 +42,11 @@ variable {M : ι → Type w} [∀ i, AddCommMonoid (M i)] [∀ i, Module R (M i)
 instance : Module R (⨁ i, M i) :=
   DFinsupp.module
 
-instance {S : Type _} [Semiring S] [∀ i, Module S (M i)] [∀ i, SMulCommClass R S (M i)] :
+instance {S : Type*} [Semiring S] [∀ i, Module S (M i)] [∀ i, SMulCommClass R S (M i)] :
     SMulCommClass R S (⨁ i, M i) :=
   DFinsupp.smulCommClass
 
-instance {S : Type _} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, IsScalarTower R S (M i)] :
+instance {S : Type*} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, IsScalarTower R S (M i)] :
     IsScalarTower R S (⨁ i, M i) :=
   DFinsupp.isScalarTower
 
@@ -186,7 +186,7 @@ theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
 #align direct_sum.linear_equiv_fun_on_fintype_symm_coe DirectSum.linearEquivFunOnFintype_symm_coe
 
 /-- The natural linear equivalence between `⨁ _ : ι, M` and `M` when `Unique ι`. -/
-protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module R M] [Unique ι] :
+protected def lid (M : Type v) (ι : Type* := PUnit) [AddCommMonoid M] [Module R M] [Unique ι] :
     (⨁ _ : ι, M) ≃ₗ[R] M :=
   { DirectSum.id M ι, toModule R ι M fun _ ↦ LinearMap.id with }
 #align direct_sum.lid DirectSum.lid
@@ -229,7 +229,7 @@ theorem component.of (i j : ι) (b : M j) :
 
 section CongrLeft
 
-variable {κ : Type _}
+variable {κ : Type*}
 
 /-- Reindexing terms of a direct sum is linear. -/
 def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k) :=
@@ -246,7 +246,7 @@ end CongrLeft
 
 section Sigma
 
-variable {α : ι → Type _} {δ : ∀ i, α i → Type w}
+variable {α : ι → Type*} {δ : ∀ i, α i → Type w}
 
 variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
@@ -305,7 +305,7 @@ variable {R : Type u} [Semiring R]
 
 variable {ι : Type v} [dec_ι : DecidableEq ι]
 
-variable {M : Type _} [AddCommMonoid M] [Module R M]
+variable {M : Type*} [AddCommMonoid M] [Module R M]
 
 variable (A : ι → Submodule R M)
 
@@ -336,7 +336,7 @@ theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.In
 
 /-- Given an internal direct sum decomposition of a module `M`, and a basis for each of the
 components of the direct sum, the disjoint union of these bases is a basis for `M`. -/
-noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type _}
+noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type*}
     (v : ∀ i, Basis (α i) R (A i)) : Basis (Σi, α i) R M
     where repr :=
     ((LinearEquiv.ofBijective (DirectSum.coeLinearMap A) h).symm ≪≫ₗ
@@ -345,7 +345,7 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
 
 @[simp]
-theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
+theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type*}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i ↦ ↑(v a.1 a.2) := by
   funext a
   -- Porting note: was
@@ -368,7 +368,7 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
   simp only [Submodule.coeSubtype]
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 
-theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type _}
+theorem IsInternal.collectedBasis_mem (h : IsInternal A) {α : ι → Type*}
     (v : ∀ i, Basis (α i) R (A i)) (a : Σi, α i) : h.collectedBasis v a ∈ A a.1 := by simp
 #align direct_sum.is_internal.collected_basis_mem DirectSum.IsInternal.collectedBasis_mem
 
@@ -390,7 +390,7 @@ variable {R : Type u} [Ring R]
 
 variable {ι : Type v} [dec_ι : DecidableEq ι]
 
-variable {M : Type _} [AddCommGroup M] [Module R M]
+variable {M : Type*} [AddCommGroup M] [Module R M]
 
 /-- Note that this is not generally true for `[Semiring R]`; see
 `CompleteLattice.Independent.dfinsupp_lsum_injective` for details. -/
@@ -421,12 +421,12 @@ theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (
 /-! Now copy the lemmas for subgroup and submonoids. -/
 
 
-theorem IsInternal.addSubmonoid_independent {M : Type _} [AddCommMonoid M] {A : ι → AddSubmonoid M}
+theorem IsInternal.addSubmonoid_independent {M : Type*} [AddCommMonoid M] {A : ι → AddSubmonoid M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective _ h.injective
 #align direct_sum.is_internal.add_submonoid_independent DirectSum.IsInternal.addSubmonoid_independent
 
-theorem IsInternal.addSubgroup_independent {M : Type _} [AddCommGroup M] {A : ι → AddSubgroup M}
+theorem IsInternal.addSubgroup_independent {M : Type*} [AddCommGroup M] {A : ι → AddSubgroup M}
     (h : IsInternal A) : CompleteLattice.Independent A :=
   CompleteLattice.independent_of_dfinsupp_sumAddHom_injective' _ h.injective
 #align direct_sum.is_internal.add_subgroup_independent DirectSum.IsInternal.addSubgroup_independent
feat: make Dfinsupp.sigmaCurry computable (#1947)

mathlib3 PR: https://github.com/leanprover-community/mathlib/pull/18316

Diff
@@ -251,8 +251,8 @@ variable {α : ι → Type _} {δ : ∀ i, α i → Type w}
 variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
 /-- `curry` as a linear map. -/
-noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
-  { sigmaCurry with map_smul' := fun r ↦ by convert @DFinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
+def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
+  { sigmaCurry with map_smul' := fun r ↦ by convert DFinsupp.sigmaCurry_smul (δ := δ) r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
 @[simp]
@@ -275,7 +275,7 @@ theorem sigmaLuncurry_apply [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (
 #align direct_sum.sigma_luncurry_apply DirectSum.sigmaLuncurry_apply
 
 /-- `curryEquiv` as a linear equiv. -/
-noncomputable def sigmaLcurryEquiv [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
+def sigmaLcurryEquiv [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
     (⨁ i : Σ_, _, δ i.1 i.2) ≃ₗ[R] ⨁ (i) (j), δ i j :=
   { sigmaCurryEquiv, sigmaLcurry R with }
 #align direct_sum.sigma_lcurry_equiv DirectSum.sigmaLcurryEquiv
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
-
-! This file was ported from Lean 3 source module algebra.direct_sum.module
-! leanprover-community/mathlib commit 6623e6af705e97002a9054c1c05a980180276fc1
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.DirectSum.Basic
 import Mathlib.LinearAlgebra.DFinsupp
 
+#align_import algebra.direct_sum.module from "leanprover-community/mathlib"@"6623e6af705e97002a9054c1c05a980180276fc1"
+
 /-!
 # Direct sum of modules
 
chore: rename Dfinsupp to DFinsupp (#5822)

See #4354

Diff
@@ -9,7 +9,7 @@ Authors: Kenny Lau
 ! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.DirectSum.Basic
-import Mathlib.LinearAlgebra.Dfinsupp
+import Mathlib.LinearAlgebra.DFinsupp
 
 /-!
 # Direct sum of modules
@@ -43,33 +43,33 @@ variable {ι : Type v} [dec_ι : DecidableEq ι]
 variable {M : ι → Type w} [∀ i, AddCommMonoid (M i)] [∀ i, Module R (M i)]
 
 instance : Module R (⨁ i, M i) :=
-  Dfinsupp.module
+  DFinsupp.module
 
 instance {S : Type _} [Semiring S] [∀ i, Module S (M i)] [∀ i, SMulCommClass R S (M i)] :
     SMulCommClass R S (⨁ i, M i) :=
-  Dfinsupp.smulCommClass
+  DFinsupp.smulCommClass
 
 instance {S : Type _} [Semiring S] [SMul R S] [∀ i, Module S (M i)] [∀ i, IsScalarTower R S (M i)] :
     IsScalarTower R S (⨁ i, M i) :=
-  Dfinsupp.isScalarTower
+  DFinsupp.isScalarTower
 
 instance [∀ i, Module Rᵐᵒᵖ (M i)] [∀ i, IsCentralScalar R (M i)] : IsCentralScalar R (⨁ i, M i) :=
-  Dfinsupp.isCentralScalar
+  DFinsupp.isCentralScalar
 
 theorem smul_apply (b : R) (v : ⨁ i, M i) (i : ι) : (b • v) i = b • v i :=
-  Dfinsupp.smul_apply _ _ _
+  DFinsupp.smul_apply _ _ _
 #align direct_sum.smul_apply DirectSum.smul_apply
 
 variable (R ι M)
 
 /-- Create the direct sum given a family `M` of `R` modules indexed over `ι`. -/
 def lmk : ∀ s : Finset ι, (∀ i : (↑s : Set ι), M i.val) →ₗ[R] ⨁ i, M i :=
-  Dfinsupp.lmk
+  DFinsupp.lmk
 #align direct_sum.lmk DirectSum.lmk
 
 /-- Inclusion of each component into the direct sum. -/
 def lof : ∀ i : ι, M i →ₗ[R] ⨁ i, M i :=
-  Dfinsupp.lsingle
+  DFinsupp.lsingle
 #align direct_sum.lof DirectSum.lof
 
 theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b := rfl
@@ -77,7 +77,7 @@ theorem lof_eq_of (i : ι) (b : M i) : lof R ι M i b = of M i b := rfl
 
 variable {ι M}
 
-theorem single_eq_lof (i : ι) (b : M i) : Dfinsupp.single i b = lof R ι M i b := rfl
+theorem single_eq_lof (i : ι) (b : M i) : DFinsupp.single i b = lof R ι M i b := rfl
 #align direct_sum.single_eq_lof DirectSum.single_eq_lof
 
 /-- Scalar multiplication commutes with direct sums. -/
@@ -94,7 +94,7 @@ variable {R}
 
 theorem support_smul [∀ (i : ι) (x : M i), Decidable (x ≠ 0)] (c : R) (v : ⨁ i, M i) :
     (c • v).support ⊆ v.support :=
-  Dfinsupp.support_smul _ _
+  DFinsupp.support_smul _ _
 #align direct_sum.support_smul DirectSum.support_smul
 
 variable {N : Type u₁} [AddCommMonoid N] [Module R N]
@@ -105,7 +105,7 @@ variable (R ι N)
 
 /-- The linear map constructed using the universal property of the coproduct. -/
 def toModule : (⨁ i, M i) →ₗ[R] N :=
-  FunLike.coe (Dfinsupp.lsum ℕ) φ
+  FunLike.coe (DFinsupp.lsum ℕ) φ
 #align direct_sum.to_module DirectSum.toModule
 
 /-- Coproducts in the categories of modules and additive monoids commute with the forgetful functor
@@ -139,7 +139,7 @@ See note [partially-applied ext lemmas]. -/
 @[ext]
 theorem linearMap_ext ⦃ψ ψ' : (⨁ i, M i) →ₗ[R] N⦄
     (H : ∀ i, ψ.comp (lof R ι M i) = ψ'.comp (lof R ι M i)) : ψ = ψ' :=
-  Dfinsupp.lhom_ext' H
+  DFinsupp.lhom_ext' H
 #align direct_sum.linear_map_ext DirectSum.linearMap_ext
 
 /-- The inclusion of a subset of the direct summands
@@ -154,14 +154,14 @@ variable (ι M)
 between `⨁ i, M i` and `∀ i, M i`. -/
 @[simps apply]
 def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i :=
-  { Dfinsupp.equivFunOnFintype with
+  { DFinsupp.equivFunOnFintype with
     toFun := (↑)
     map_add' := fun f g ↦ by
       ext
       rw [add_apply, Pi.add_apply]
     map_smul' := fun c f ↦ by
       simp_rw [RingHom.id_apply]
-      rw [Dfinsupp.coe_smul] }
+      rw [DFinsupp.coe_smul] }
 #align direct_sum.linear_equiv_fun_on_fintype DirectSum.linearEquivFunOnFintype
 
 variable {ι M}
@@ -170,15 +170,15 @@ variable {ι M}
 theorem linearEquivFunOnFintype_lof [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m := by
   ext a
-  change (Dfinsupp.equivFunOnFintype (lof R ι M i m)) a = _
-  convert _root_.congr_fun (Dfinsupp.equivFunOnFintype_single i m) a
+  change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _
+  convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a
 #align direct_sum.linear_equiv_fun_on_fintype_lof DirectSum.linearEquivFunOnFintype_lof
 
 @[simp]
 theorem linearEquivFunOnFintype_symm_single [Fintype ι] [DecidableEq ι] (i : ι) (m : M i) :
     (linearEquivFunOnFintype R ι M).symm (Pi.single i m) = lof R ι M i m := by
-  change (Dfinsupp.equivFunOnFintype.symm (Pi.single i m)) = _
-  rw [Dfinsupp.equivFunOnFintype_symm_single i m]
+  change (DFinsupp.equivFunOnFintype.symm (Pi.single i m)) = _
+  rw [DFinsupp.equivFunOnFintype_symm_single i m]
   rfl
 #align direct_sum.linear_equiv_fun_on_fintype_symm_single DirectSum.linearEquivFunOnFintype_symm_single
 
@@ -198,7 +198,7 @@ variable (ι M)
 
 /-- The projection map onto one component, as a linear map. -/
 def component (i : ι) : (⨁ i, M i) →ₗ[R] M i :=
-  Dfinsupp.lapply i
+  DFinsupp.lapply i
 #align direct_sum.component DirectSum.component
 
 variable {ι M}
@@ -208,7 +208,7 @@ theorem apply_eq_component (f : ⨁ i, M i) (i : ι) : f i = component R ι M i
 
 @[ext]
 theorem ext {f g : ⨁ i, M i} (h : ∀ i, component R ι M i f = component R ι M i g) : f = g :=
-  Dfinsupp.ext h
+  DFinsupp.ext h
 #align direct_sum.ext DirectSum.ext
 
 theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = component R ι M i g :=
@@ -217,7 +217,7 @@ theorem ext_iff {f g : ⨁ i, M i} : f = g ↔ ∀ i, component R ι M i f = com
 
 @[simp]
 theorem lof_apply (i : ι) (b : M i) : ((lof R ι M i) b) i = b :=
-  Dfinsupp.single_eq_same
+  DFinsupp.single_eq_same
 #align direct_sum.lof_apply DirectSum.lof_apply
 
 @[simp]
@@ -227,7 +227,7 @@ theorem component.lof_self (i : ι) (b : M i) : component R ι M i ((lof R ι M
 
 theorem component.of (i j : ι) (b : M j) :
     component R ι M i ((lof R ι M j) b) = if h : j = i then Eq.recOn h b else 0 :=
-  Dfinsupp.single_apply
+  DFinsupp.single_apply
 #align direct_sum.component.of DirectSum.component.of
 
 section CongrLeft
@@ -236,7 +236,7 @@ variable {κ : Type _}
 
 /-- Reindexing terms of a direct sum is linear. -/
 def lequivCongrLeft (h : ι ≃ κ) : (⨁ i, M i) ≃ₗ[R] ⨁ k, M (h.symm k) :=
-  { equivCongrLeft h with map_smul' := Dfinsupp.comapDomain'_smul h.invFun h.right_inv }
+  { equivCongrLeft h with map_smul' := DFinsupp.comapDomain'_smul h.invFun h.right_inv }
 #align direct_sum.lequiv_congr_left DirectSum.lequivCongrLeft
 
 @[simp]
@@ -255,7 +255,7 @@ variable [∀ i j, AddCommMonoid (δ i j)] [∀ i j, Module R (δ i j)]
 
 /-- `curry` as a linear map. -/
 noncomputable def sigmaLcurry : (⨁ i : Σi, _, δ i.1 i.2) →ₗ[R] ⨁ (i) (j), δ i j :=
-  { sigmaCurry with map_smul' := fun r ↦ by convert @Dfinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
+  { sigmaCurry with map_smul' := fun r ↦ by convert @DFinsupp.sigmaCurry_smul _ _ _ δ _ _ _ r }
 #align direct_sum.sigma_lcurry DirectSum.sigmaLcurry
 
 @[simp]
@@ -268,7 +268,7 @@ theorem sigmaLcurry_apply (f : ⨁ i : Σ_, _, δ i.1 i.2) (i : ι) (j : α i) :
 /-- `uncurry` as a linear map. -/
 noncomputable def sigmaLuncurry [∀ i, DecidableEq (α i)] [∀ i j, DecidableEq (δ i j)] :
     (⨁ (i) (j), δ i j) →ₗ[R] ⨁ i : Σ_, _, δ i.1 i.2 :=
-  { sigmaUncurry with map_smul' := Dfinsupp.sigmaUncurry_smul }
+  { sigmaUncurry with map_smul' := DFinsupp.sigmaUncurry_smul }
 #align direct_sum.sigma_luncurry DirectSum.sigmaLuncurry
 
 @[simp]
@@ -293,7 +293,7 @@ variable {α : Option ι → Type w} [∀ i, AddCommMonoid (α i)] [∀ i, Modul
 `Option ι`. -/
 @[simps]
 noncomputable def lequivProdDirectSum : (⨁ i, α i) ≃ₗ[R] α none × ⨁ i, α (some i) :=
-  { addEquivProdDirectSum with map_smul' := Dfinsupp.equivProdDfinsupp_smul }
+  { addEquivProdDirectSum with map_smul' := DFinsupp.equivProdDFinsupp_smul }
 #align direct_sum.lequiv_prod_direct_sum DirectSum.lequivProdDirectSum
 
 end Option
@@ -343,8 +343,8 @@ noncomputable def IsInternal.collectedBasis (h : IsInternal A) {α : ι → Type
     (v : ∀ i, Basis (α i) R (A i)) : Basis (Σi, α i) R M
     where repr :=
     ((LinearEquiv.ofBijective (DirectSum.coeLinearMap A) h).symm ≪≫ₗ
-        Dfinsupp.mapRange.linearEquiv fun i ↦ (v i).repr) ≪≫ₗ
-      (sigmaFinsuppLequivDfinsupp R).symm
+        DFinsupp.mapRange.linearEquiv fun i ↦ (v i).repr) ≪≫ₗ
+      (sigmaFinsuppLequivDFinsupp R).symm
 #align direct_sum.is_internal.collected_basis DirectSum.IsInternal.collectedBasis
 
 @[simp]
@@ -353,21 +353,21 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
   funext a
   -- Porting note: was
   -- simp only [IsInternal.collectedBasis, toModule, coeLinearMap, Basis.coe_ofRepr,
-  --   Basis.repr_symm_apply, Dfinsupp.lsum_apply_apply, Dfinsupp.mapRange.linearEquiv_apply,
-  --   Dfinsupp.mapRange.linearEquiv_symm, Dfinsupp.mapRange_single, Finsupp.total_single,
+  --   Basis.repr_symm_apply, DFinsupp.lsum_apply_apply, DFinsupp.mapRange.linearEquiv_apply,
+  --   DFinsupp.mapRange.linearEquiv_symm, DFinsupp.mapRange_single, Finsupp.total_single,
   --   LinearEquiv.ofBijective_apply, LinearEquiv.symm_symm, LinearEquiv.symm_trans_apply, one_smul,
-  --   sigmaFinsuppAddEquivDfinsupp_apply, sigmaFinsuppEquivDfinsupp_single,
-  --   sigmaFinsuppLequivDfinsupp_apply]
-  -- convert Dfinsupp.sumAddHom_single (fun i ↦ (A i).subtype.toAddMonoidHom) a.1 (v a.1 a.2)
+  --   sigmaFinsuppAddEquivDFinsupp_apply, sigmaFinsuppEquivDFinsupp_single,
+  --   sigmaFinsuppLequivDFinsupp_apply]
+  -- convert DFinsupp.sumAddHom_single (fun i ↦ (A i).subtype.toAddMonoidHom) a.1 (v a.1 a.2)
   simp only [IsInternal.collectedBasis, coeLinearMap, Basis.coe_ofRepr, LinearEquiv.trans_symm,
-    LinearEquiv.symm_symm, LinearEquiv.trans_apply, sigmaFinsuppLequivDfinsupp_apply,
-    sigmaFinsuppEquivDfinsupp_single, LinearEquiv.ofBijective_apply,
-    sigmaFinsuppAddEquivDfinsupp_apply]
-  rw [Dfinsupp.mapRange.linearEquiv_symm]
-  erw [Dfinsupp.mapRange.linearEquiv_apply]
-  simp only [Dfinsupp.mapRange_single, Basis.repr_symm_apply, Finsupp.total_single, one_smul,
+    LinearEquiv.symm_symm, LinearEquiv.trans_apply, sigmaFinsuppLequivDFinsupp_apply,
+    sigmaFinsuppEquivDFinsupp_single, LinearEquiv.ofBijective_apply,
+    sigmaFinsuppAddEquivDFinsupp_apply]
+  rw [DFinsupp.mapRange.linearEquiv_symm]
+  erw [DFinsupp.mapRange.linearEquiv_apply]
+  simp only [DFinsupp.mapRange_single, Basis.repr_symm_apply, Finsupp.total_single, one_smul,
     toModule]
-  erw [Dfinsupp.lsum_single]
+  erw [DFinsupp.lsum_single]
   simp only [Submodule.coeSubtype]
 #align direct_sum.is_internal.collected_basis_coe DirectSum.IsInternal.collectedBasis_coe
 
chore: formatting issues (#4947)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -320,8 +320,8 @@ def coeLinearMap : (⨁ i, A i) →ₗ[R] M :=
 
 @[simp]
 theorem coeLinearMap_of (i : ι) (x : A i) : DirectSum.coeLinearMap A (of (fun i ↦ A i) i x) = x :=
--- Porting note: spelled out arguments. (I don't know how this works.)
-toAddMonoid_of (β := fun i => A i) (fun i ↦ ((A i).subtype : A i →+ M)) i x
+  -- Porting note: spelled out arguments. (I don't know how this works.)
+  toAddMonoid_of (β := fun i => A i) (fun i ↦ ((A i).subtype : A i →+ M)) i x
 #align direct_sum.coe_linear_map_of DirectSum.coeLinearMap_of
 
 variable {A}
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -190,7 +190,7 @@ theorem linearEquivFunOnFintype_symm_coe [Fintype ι] (f : ⨁ i, M i) :
 
 /-- The natural linear equivalence between `⨁ _ : ι, M` and `M` when `Unique ι`. -/
 protected def lid (M : Type v) (ι : Type _ := PUnit) [AddCommMonoid M] [Module R M] [Unique ι] :
-    (⨁ _i : ι, M) ≃ₗ[R] M :=
+    (⨁ _ : ι, M) ≃ₗ[R] M :=
   { DirectSum.id M ι, toModule R ι M fun _ ↦ LinearMap.id with }
 #align direct_sum.lid DirectSum.lid
 
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -327,10 +327,10 @@ toAddMonoid_of (β := fun i => A i) (fun i ↦ ((A i).subtype : A i →+ M)) i x
 variable {A}
 
 /-- If a direct sum of submodules is internal then the submodules span the module. -/
-theorem IsInternal.submodule_supᵢ_eq_top (h : IsInternal A) : supᵢ A = ⊤ := by
-  rw [Submodule.supᵢ_eq_range_dfinsupp_lsum, LinearMap.range_eq_top]
+theorem IsInternal.submodule_iSup_eq_top (h : IsInternal A) : iSup A = ⊤ := by
+  rw [Submodule.iSup_eq_range_dfinsupp_lsum, LinearMap.range_eq_top]
   exact Function.Bijective.surjective h
-#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_supᵢ_eq_top
+#align direct_sum.is_internal.submodule_supr_eq_top DirectSum.IsInternal.submodule_iSup_eq_top
 
 /-- If a direct sum of submodules is internal then the submodules are independent. -/
 theorem IsInternal.submodule_independent (h : IsInternal A) : CompleteLattice.Independent A :=
@@ -381,8 +381,8 @@ the two submodules are complementary. Over a `Ring R`, this is true as an iff, a
 theorem IsInternal.isCompl {A : ι → Submodule R M} {i j : ι} (hij : i ≠ j)
     (h : (Set.univ : Set ι) = {i, j}) (hi : IsInternal A) : IsCompl (A i) (A j) :=
   ⟨hi.submodule_independent.pairwiseDisjoint hij,
-    codisjoint_iff.mpr <| Eq.symm <| hi.submodule_supᵢ_eq_top.symm.trans <| by
-      rw [← supₛ_pair, supᵢ, ← Set.image_univ, h, Set.image_insert_eq, Set.image_singleton]⟩
+    codisjoint_iff.mpr <| Eq.symm <| hi.submodule_iSup_eq_top.symm.trans <| by
+      rw [← sSup_pair, iSup, ← Set.image_univ, h, Set.image_insert_eq, Set.image_singleton]⟩
 #align direct_sum.is_internal.is_compl DirectSum.IsInternal.isCompl
 
 end Semiring
@@ -397,27 +397,27 @@ variable {M : Type _} [AddCommGroup M] [Module R M]
 
 /-- Note that this is not generally true for `[Semiring R]`; see
 `CompleteLattice.Independent.dfinsupp_lsum_injective` for details. -/
-theorem isInternal_submodule_of_independent_of_supᵢ_eq_top {A : ι → Submodule R M}
-    (hi : CompleteLattice.Independent A) (hs : supᵢ A = ⊤) : IsInternal A :=
+theorem isInternal_submodule_of_independent_of_iSup_eq_top {A : ι → Submodule R M}
+    (hi : CompleteLattice.Independent A) (hs : iSup A = ⊤) : IsInternal A :=
   ⟨hi.dfinsupp_lsum_injective,
-    LinearMap.range_eq_top.1 <| (Submodule.supᵢ_eq_range_dfinsupp_lsum _).symm.trans hs⟩
-#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_top
+    LinearMap.range_eq_top.1 <| (Submodule.iSup_eq_range_dfinsupp_lsum _).symm.trans hs⟩
+#align direct_sum.is_internal_submodule_of_independent_of_supr_eq_top DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top
 
-/-- `iff` version of `DirectSum.isInternal_submodule_of_independent_of_supᵢ_eq_top`,
-`DirectSum.IsInternal.submodule_independent`, and `DirectSum.IsInternal.submodule_supᵢ_eq_top`. -/
-theorem isInternal_submodule_iff_independent_and_supᵢ_eq_top (A : ι → Submodule R M) :
-    IsInternal A ↔ CompleteLattice.Independent A ∧ supᵢ A = ⊤ :=
-  ⟨fun i ↦ ⟨i.submodule_independent, i.submodule_supᵢ_eq_top⟩,
-    And.rec isInternal_submodule_of_independent_of_supᵢ_eq_top⟩
-#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_supᵢ_eq_top
+/-- `iff` version of `DirectSum.isInternal_submodule_of_independent_of_iSup_eq_top`,
+`DirectSum.IsInternal.submodule_independent`, and `DirectSum.IsInternal.submodule_iSup_eq_top`. -/
+theorem isInternal_submodule_iff_independent_and_iSup_eq_top (A : ι → Submodule R M) :
+    IsInternal A ↔ CompleteLattice.Independent A ∧ iSup A = ⊤ :=
+  ⟨fun i ↦ ⟨i.submodule_independent, i.submodule_iSup_eq_top⟩,
+    And.rec isInternal_submodule_of_independent_of_iSup_eq_top⟩
+#align direct_sum.is_internal_submodule_iff_independent_and_supr_eq_top DirectSum.isInternal_submodule_iff_independent_and_iSup_eq_top
 
 /-- If a collection of submodules has just two indices, `i` and `j`, then
 `DirectSum.IsInternal` is equivalent to `isCompl`. -/
 theorem isInternal_submodule_iff_isCompl (A : ι → Submodule R M) {i j : ι} (hij : i ≠ j)
     (h : (Set.univ : Set ι) = {i, j}) : IsInternal A ↔ IsCompl (A i) (A j) := by
   have : ∀ k, k = i ∨ k = j := fun k ↦ by simpa using Set.ext_iff.mp h k
-  rw [isInternal_submodule_iff_independent_and_supᵢ_eq_top, supᵢ, ← Set.image_univ, h,
-    Set.image_insert_eq, Set.image_singleton, supₛ_pair, CompleteLattice.independent_pair hij this]
+  rw [isInternal_submodule_iff_independent_and_iSup_eq_top, iSup, ← Set.image_univ, h,
+    Set.image_insert_eq, Set.image_singleton, sSup_pair, CompleteLattice.independent_pair hij this]
   exact ⟨fun ⟨hd, ht⟩ ↦ ⟨hd, codisjoint_iff.mpr ht⟩, fun ⟨hd, ht⟩ ↦ ⟨hd, ht.eq_top⟩⟩
 #align direct_sum.is_internal_submodule_iff_is_compl DirectSum.isInternal_submodule_iff_isCompl
 
chore: fix docs, golf, rename (#3010)
  • Run fix-comments on Mathlib/LinearAlgebra/Basis.lean.
  • Rename Basis.of_repr to Basis.ofRepr.
  • Reflow/minor golf.
Diff
@@ -352,14 +352,14 @@ theorem IsInternal.collectedBasis_coe (h : IsInternal A) {α : ι → Type _}
     (v : ∀ i, Basis (α i) R (A i)) : ⇑(h.collectedBasis v) = fun a : Σi, α i ↦ ↑(v a.1 a.2) := by
   funext a
   -- Porting note: was
-  -- simp only [IsInternal.collectedBasis, toModule, coeLinearMap, Basis.coe_of_repr,
+  -- simp only [IsInternal.collectedBasis, toModule, coeLinearMap, Basis.coe_ofRepr,
   --   Basis.repr_symm_apply, Dfinsupp.lsum_apply_apply, Dfinsupp.mapRange.linearEquiv_apply,
   --   Dfinsupp.mapRange.linearEquiv_symm, Dfinsupp.mapRange_single, Finsupp.total_single,
   --   LinearEquiv.ofBijective_apply, LinearEquiv.symm_symm, LinearEquiv.symm_trans_apply, one_smul,
   --   sigmaFinsuppAddEquivDfinsupp_apply, sigmaFinsuppEquivDfinsupp_single,
   --   sigmaFinsuppLequivDfinsupp_apply]
   -- convert Dfinsupp.sumAddHom_single (fun i ↦ (A i).subtype.toAddMonoidHom) a.1 (v a.1 a.2)
-  simp only [IsInternal.collectedBasis, coeLinearMap, Basis.coe_of_repr, LinearEquiv.trans_symm,
+  simp only [IsInternal.collectedBasis, coeLinearMap, Basis.coe_ofRepr, LinearEquiv.trans_symm,
     LinearEquiv.symm_symm, LinearEquiv.trans_apply, sigmaFinsuppLequivDfinsupp_apply,
     sigmaFinsuppEquivDfinsupp_single, LinearEquiv.ofBijective_apply,
     sigmaFinsuppAddEquivDfinsupp_apply]
feat: port Algebra.DirectSum.Module (#2596)

Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Dependencies 8 + 423

424 files ported (98.1%)
176026 lines ported (98.3%)
Show graph

The unported dependencies are