algebra.direct_sum.module
⟷
Mathlib.Algebra.DirectSum.Module
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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,
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/4e24c4bfcff371c71f7ba22050308aa17815626c
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/31c24aa72e7b3e5ed97a8412470e904f82b81004
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -35,7 +35,7 @@ universe u v w u₁
namespace DirectSum
-open DirectSum
+open scoped DirectSum
section General
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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 : κ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/36b8aa61ea7c05727161f96a0532897bd72aedab
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/1f4705ccdfe1e557fc54a0ce081a05e33d2e6240
@@ -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`).
mathlib commit https://github.com/leanprover-community/mathlib/commit/02ba8949f486ebecf93fe7460f1ed0564b5e442c
@@ -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`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/da3fc4a33ff6bc75f077f691dc94c217b8d41559
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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)
@@ -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
@@ -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. -/
The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun
instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike
is EquivLike
, since that has a custom coe_injective'
field that is easier to implement. All other classes should take FunLike
or EquivLike
as a parameter.
Previously, morphism classes would be Type
-valued and extend FunLike
:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
After this PR, they should be Prop
-valued and take FunLike
as a parameter:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
[FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
(Note that A B
stay marked as outParam
even though they are not purely required to be so due to the FunLike
parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam
is slightly faster.)
Similarly, MyEquivClass
should take EquivLike
as a parameter.
As a result, every mention of [MyHomClass F A B]
should become [FunLike F A B] [MyHomClass F A B]
.
While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul
is more expensive. This is due to suboptimal processing of arguments. For example:
variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)
theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y
example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _
Before this PR, applying map_mul f
gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Since M
and N
are out_param
s, [MulHomClass F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found.
After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Now [FunLike F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found, before trying MulHomClass F M N
which fails. Since the Mul
hierarchy is very big, this can be slow to fail, especially when there is no such Mul
instance.
A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul
to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N]
because MulHomClass
fails or succeeds much faster than the others.
As a consequence, the simpNF
linter is much slower since by design it tries and fails to apply many map_
lemmas. The same issue occurs a few times in existing calls to simp [map_mul]
, where map_mul
is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.
simp
not firing sometimesThis affects map_smulₛₗ
and related definitions. For simp
lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw
can find every argument to map_smulₛₗ
successfully but simp
can't: leanprover/lean4#3701.
Especially in the category theory library, we might sometimes have a type A
which is also accessible as a synonym (Bundled A hA).1
. Instance synthesis doesn't always work if we have f : A →* B
but x * y : (Bundled A hA).1
or vice versa. This seems to be mostly fixed by keeping A B
as outParam
s in MulHomClass F A B
. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1
instead of using the syntax in the discrimination tree.)
The timeouts can be worked around for now by specifying which map_mul
we mean, either as map_mul f
for some explicit f
, or as e.g. MonoidHomClass.map_mul
.
map_smulₛₗ
not firing as simp
lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ
a simp
lemma instead of the generic map_smulₛₗ
. Writing simp [map_smulₛₗ _]
also works.
Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -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`,
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>
@@ -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
Note: the proof (due to Zassenhaus) makes no assumption about the characteristic of the coefficients.
@@ -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. -/
@@ -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`. -/
@@ -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
Basis
(#6706)
The motivation here is to explore re-defining Basis
with DFinsupp
instead of Finsupp
, in order to make it computable.
@@ -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"
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
Dfinsupp.sigmaCurry
computable (#1947)
mathlib3 PR: https://github.com/leanprover-community/mathlib/pull/18316
@@ -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
@@ -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
@@ -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
@@ -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}
@@ -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
sSup
/iSup
(#3938)
As discussed on Zulip
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>
@@ -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
fix-comments
on Mathlib/LinearAlgebra/Basis.lean
.Basis.of_repr
to Basis.ofRepr
.@@ -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]
The unported dependencies are