linear_algebra.finsupp_vector_spaceMathlib.LinearAlgebra.FinsuppVectorSpace

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -167,12 +167,12 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
       Finsupp.single i a]
   · simp
   · intro x hx
-    rw [Set.mem_singleton_iff] at hx 
+    rw [Set.mem_singleton_iff] at hx
     simp [hx]
   intro x hx
   have hx' : ¬i = x := by
     refine' ne_comm.mp _
-    rwa [mem_singleton_iff] at hx 
+    rwa [mem_singleton_iff] at hx
   simp [hx']
 #align finset.sum_single_ite Finset.sum_single_ite
 -/
Diff
@@ -92,7 +92,7 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
             rw [Ne.def, ← (b i).repr.Injective.eq_iff, (b i).repr.apply_symm_apply, ext_iff]
             simp only [exists_prop, LinearEquiv.map_zero, comap_domain_apply, zero_apply,
               exists_and_right, mem_support_iff, exists_eq_right, Sigma.exists, Finset.mem_image,
-              not_forall] }
+              Classical.not_forall] }
       left_inv := fun g => by
         ext i; rw [← (b i).repr.Injective.eq_iff]; ext x
         simp only [coe_mk, LinearEquiv.apply_symm_apply, comap_domain_apply]
Diff
@@ -184,7 +184,7 @@ theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
   by
   have := EquivLike.injective b.repr
   apply_fun b.repr
-  simp only [equiv_fun_symm_apply, std_basis_apply', LinearEquiv.map_sum, LinearEquiv.map_smulₛₗ,
+  simp only [equiv_fun_symm_apply, std_basis_apply', map_sum, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, repr_self, Finsupp.smul_single', boole_mul]
   exact Finset.sum_single_ite 1 i
 #align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasis
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
 -/
-import Mathbin.LinearAlgebra.StdBasis
+import LinearAlgebra.StdBasis
 
 #align_import linear_algebra.finsupp_vector_space from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
-
-! This file was ported from Lean 3 source module linear_algebra.finsupp_vector_space
-! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.StdBasis
 
+#align_import linear_algebra.finsupp_vector_space from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
+
 /-!
 # Linear structures on function with finite support `ι →₀ M`
 
Diff
@@ -40,6 +40,7 @@ variable {R : Type _} {M : Type _} {ι : Type _}
 
 variable [Ring R] [AddCommGroup M] [Module R M]
 
+#print Finsupp.linearIndependent_single /-
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σ i, φ i => single ix.1 (f ix.1 ix.2) :=
@@ -61,6 +62,7 @@ theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
       rw [span_le, range_coe]
       apply range_comp_subset_range
 #align finsupp.linear_independent_single Finsupp.linearIndependent_single
+-/
 
 end Ring
 
@@ -72,6 +74,7 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
 
 open LinearMap Submodule
 
+#print Finsupp.basis /-
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
 protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σ i, φ i) R (ι →₀ M) :=
   Basis.ofRepr
@@ -103,13 +106,17 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
       map_smul' := fun c h => by ext ⟨i, x⟩;
         simp only [coe_mk, smul_apply, LinearEquiv.map_smul, RingHom.id_apply] }
 #align finsupp.basis Finsupp.basis
+-/
 
+#print Finsupp.basis_repr /-
 @[simp]
 theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
     (Finsupp.basis b).repr g ix = (b ix.1).repr (g ix.1) ix.2 :=
   rfl
 #align finsupp.basis_repr Finsupp.basis_repr
+-/
 
+#print Finsupp.coe_basis /-
 @[simp]
 theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
     ⇑(Finsupp.basis b) = fun ix : Σ i, φ i => single ix.1 (b ix.1 ix.2) :=
@@ -123,17 +130,22 @@ theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
       simp only [basis_repr, single_apply, h, false_and_iff, if_false, LinearEquiv.map_zero,
         zero_apply]
 #align finsupp.coe_basis Finsupp.coe_basis
+-/
 
+#print Finsupp.basisSingleOne /-
 /-- The basis on `ι →₀ M` with basis vectors `λ i, single i 1`. -/
 @[simps]
 protected def basisSingleOne : Basis ι R (ι →₀ R) :=
   Basis.ofRepr (LinearEquiv.refl _ _)
 #align finsupp.basis_single_one Finsupp.basisSingleOne
+-/
 
+#print Finsupp.coe_basisSingleOne /-
 @[simp]
 theorem coe_basisSingleOne : (Finsupp.basisSingleOne : ι → ι →₀ R) = fun i => Finsupp.single i 1 :=
   funext fun i => Basis.apply_eq_iff.mpr rfl
 #align finsupp.coe_basis_single_one Finsupp.coe_basisSingleOne
+-/
 
 end Semiring
 
@@ -150,6 +162,7 @@ variable [DecidableEq n] [Fintype n]
 
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
+#print Finset.sum_single_ite /-
 theorem Finset.sum_single_ite (a : R) (i : n) :
     (Finset.univ.Sum fun x : n => Finsupp.single x (ite (i = x) a 0)) = Finsupp.single i a :=
   by
@@ -165,7 +178,9 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
     rwa [mem_singleton_iff] at hx 
   simp [hx']
 #align finset.sum_single_ite Finset.sum_single_ite
+-/
 
+#print Basis.equivFun_symm_stdBasis /-
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
     b.equivFun.symm (LinearMap.stdBasis R (fun _ => R) i 1) = b i :=
@@ -176,6 +191,7 @@ theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
     RingHom.id_apply, repr_self, Finsupp.smul_single', boole_mul]
   exact Finset.sum_single_ite 1 i
 #align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasis
+-/
 
 end Basis
 
Diff
@@ -42,7 +42,7 @@ variable [Ring R] [AddCommGroup M] [Module R M]
 
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
-    LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) :=
+    LinearIndependent R fun ix : Σ i, φ i => single ix.1 (f ix.1 ix.2) :=
   by
   apply @linearIndependent_iUnion_finite R _ _ _ _ ι φ fun i x => single i (f i x)
   · intro i
@@ -73,7 +73,7 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
 open LinearMap Submodule
 
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
-protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
+protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σ i, φ i) R (ι →₀ M) :=
   Basis.ofRepr
     { toFun := fun g =>
         { toFun := fun ix => (b ix.1).repr (g ix.1) ix.2
@@ -112,7 +112,7 @@ theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι 
 
 @[simp]
 theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
-    ⇑(Finsupp.basis b) = fun ix : Σi, φ i => single ix.1 (b ix.1 ix.2) :=
+    ⇑(Finsupp.basis b) = fun ix : Σ i, φ i => single ix.1 (b ix.1 ix.2) :=
   funext fun ⟨i, x⟩ =>
     Basis.apply_eq_iff.mpr <| by
       ext ⟨j, y⟩
@@ -157,12 +157,12 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
       Finsupp.single i a]
   · simp
   · intro x hx
-    rw [Set.mem_singleton_iff] at hx
+    rw [Set.mem_singleton_iff] at hx 
     simp [hx]
   intro x hx
   have hx' : ¬i = x := by
     refine' ne_comm.mp _
-    rwa [mem_singleton_iff] at hx
+    rwa [mem_singleton_iff] at hx 
   simp [hx']
 #align finset.sum_single_ite Finset.sum_single_ite
 
Diff
@@ -28,7 +28,7 @@ attribute [local instance 100] Classical.propDecidable
 
 open Set LinearMap Submodule
 
-open Cardinal
+open scoped Cardinal
 
 universe u v w
 
Diff
@@ -40,12 +40,6 @@ variable {R : Type _} {M : Type _} {ι : Type _}
 
 variable [Ring R] [AddCommGroup M] [Module R M]
 
-/- warning: finsupp.linear_independent_single -> Finsupp.linearIndependent_single is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {φ : ι -> Type.{u4}} {f : forall (ι : ι), (φ ι) -> M}, (forall (i : ι), LinearIndependent.{u4, u1, u2} (φ i) R M (f i) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (LinearIndependent.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (fun (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix) (f (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix))) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
-but is expected to have type
-  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {φ : ι -> Type.{u4}} {f : forall (ι : ι), (φ ι) -> M}, (forall (i : ι), LinearIndependent.{u4, u3, u2} (φ i) R M (f i) (Ring.toSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (LinearIndependent.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (fun (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix) (f (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix))) (Ring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u1, u2, u3} ι M R (Ring.toSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
-Case conversion may be inaccurate. Consider using '#align finsupp.linear_independent_single Finsupp.linearIndependent_singleₓ'. -/
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) :=
@@ -78,12 +72,6 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
 
 open LinearMap Submodule
 
-/- warning: finsupp.basis -> Finsupp.basis is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) -> (Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) -> (Basis.{max u4 u3, u1, max u2 u3} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align finsupp.basis Finsupp.basisₓ'. -/
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
 protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
   Basis.ofRepr
@@ -116,21 +104,12 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
         simp only [coe_mk, smul_apply, LinearEquiv.map_smul, RingHom.id_apply] }
 #align finsupp.basis Finsupp.basis
 
-/- warning: finsupp.basis_repr -> Finsupp.basis_repr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finsupp.basis_repr Finsupp.basis_reprₓ'. -/
 @[simp]
 theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
     (Finsupp.basis b).repr g ix = (b ix.1).repr (g ix.1) ix.2 :=
   rfl
 #align finsupp.basis_repr Finsupp.basis_repr
 
-/- warning: finsupp.coe_basis -> Finsupp.coe_basis is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3), Eq.{max (succ (max u3 u4)) (succ (max u3 u2))} ((Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (coeFn.{max (succ (max u3 u4)) (succ u1) (succ (max u3 u2)), max (succ (max u3 u4)) (succ (max u3 u2))} (Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3)) (fun (_x : Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3)) => (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (FunLike.hasCoeToFun.{max (succ (max u3 u4)) (succ u1) (succ (max u3 u2)), succ (max u3 u4), succ (max u3 u2)} (Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3)) (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u3, u4} ι (fun (i : ι) => φ i)) => Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Basis.funLike.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3))) (Finsupp.basis.{u1, u2, u3, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) (fun (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix) (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) => (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) => M) (Basis.funLike.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3)) (b (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix)))
-but is expected to have type
-  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u3, u2} (φ i) R M _inst_1 _inst_2 _inst_3), Eq.{max (max (succ u2) (succ u1)) (succ u4)} (forall (a : Sigma.{u1, u4} ι (fun (i : ι) => φ i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) a) (FunLike.coe.{max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u1)} (Basis.{max u4 u1, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (Basis.funLike.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Finsupp.basis.{u3, u2, u1, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) (fun (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u1, u2} ι ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)) _inst_2)) (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u4, succ u2} (Basis.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) _x) (Basis.funLike.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (b (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)))
-Case conversion may be inaccurate. Consider using '#align finsupp.coe_basis Finsupp.coe_basisₓ'. -/
 @[simp]
 theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
     ⇑(Finsupp.basis b) = fun ix : Σi, φ i => single ix.1 (b ix.1 ix.2) :=
@@ -145,24 +124,12 @@ theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
         zero_apply]
 #align finsupp.coe_basis Finsupp.coe_basis
 
-/- warning: finsupp.basis_single_one -> Finsupp.basisSingleOne is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Semiring.{u1} R], Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Semiring.{u1} R], Basis.{u2, u1, max u1 u2} ι R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align finsupp.basis_single_one Finsupp.basisSingleOneₓ'. -/
 /-- The basis on `ι →₀ M` with basis vectors `λ i, single i 1`. -/
 @[simps]
 protected def basisSingleOne : Basis ι R (ι →₀ R) :=
   Basis.ofRepr (LinearEquiv.refl _ _)
 #align finsupp.basis_single_one Finsupp.basisSingleOne
 
-/- warning: finsupp.coe_basis_single_one -> Finsupp.coe_basisSingleOne is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Semiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => ι -> (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Finsupp.basisSingleOne.{u1, u2} R ι _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ (max u2 u1)), max (succ u2) (succ (max u2 u1))} (Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => ι -> (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (FunLike.hasCoeToFun.{max (succ u2) (succ u1) (succ (max u2 u1)), succ u2, succ (max u2 u1)} (Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) ι (fun (_x : ι) => Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Basis.funLike.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.basisSingleOne.{u1, u2} R ι _inst_1)) (fun (i : ι) => Finsupp.single.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) i (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : ι), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (Basis.{u1, u2, max u2 u1} ι R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (Basis.funLike.{u1, u2, max u1 u2} ι R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.basisSingleOne.{u2, u1} R ι _inst_1)) (fun (i : ι) => Finsupp.single.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align finsupp.coe_basis_single_one Finsupp.coe_basisSingleOneₓ'. -/
 @[simp]
 theorem coe_basisSingleOne : (Finsupp.basisSingleOne : ι → ι →₀ R) = fun i => Finsupp.single i 1 :=
   funext fun i => Basis.apply_eq_iff.mpr rfl
@@ -183,12 +150,6 @@ variable [DecidableEq n] [Fintype n]
 
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
-/- warning: finset.sum_single_ite -> Finset.sum_single_ite is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {n : Type.{u2}} [_inst_1 : DecidableEq.{succ u2} n] [_inst_2 : Fintype.{u2} n] [_inst_3 : Semiring.{u1} R] (a : R) (i : n), Eq.{succ (max u2 u1)} (Finsupp.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) (Finset.sum.{max u2 u1, u2} (Finsupp.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) n (Finsupp.addCommMonoid.{u2, u1} n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) (Finset.univ.{u2} n _inst_2) (fun (x : n) => Finsupp.single.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) x (ite.{succ u1} R (Eq.{succ u2} n i x) (_inst_1 i x) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))))))))) (Finsupp.single.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) i a)
-but is expected to have type
-  forall {R : Type.{u2}} {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : Semiring.{u2} R] (a : R) (i : n), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3))) (Finset.sum.{max u2 u1, u1} (Finsupp.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3))) n (Finsupp.addCommMonoid.{u1, u2} n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Finset.univ.{u1} n _inst_2) (fun (x : n) => Finsupp.single.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) x (ite.{succ u2} R (Eq.{succ u1} n i x) (_inst_1 i x) a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3))))))) (Finsupp.single.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) i a)
-Case conversion may be inaccurate. Consider using '#align finset.sum_single_ite Finset.sum_single_iteₓ'. -/
 theorem Finset.sum_single_ite (a : R) (i : n) :
     (Finset.univ.Sum fun x : n => Finsupp.single x (ite (i = x) a 0)) = Finsupp.single i a :=
   by
@@ -205,9 +166,6 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
   simp [hx']
 #align finset.sum_single_ite Finset.sum_single_ite
 
-/- warning: basis.equiv_fun_symm_std_basis -> Basis.equivFun_symm_stdBasis is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
     b.equivFun.symm (LinearMap.stdBasis R (fun _ => R) i 1) = b i :=
Diff
@@ -106,18 +106,13 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
               exists_and_right, mem_support_iff, exists_eq_right, Sigma.exists, Finset.mem_image,
               not_forall] }
       left_inv := fun g => by
-        ext i
-        rw [← (b i).repr.Injective.eq_iff]
-        ext x
+        ext i; rw [← (b i).repr.Injective.eq_iff]; ext x
         simp only [coe_mk, LinearEquiv.apply_symm_apply, comap_domain_apply]
       right_inv := fun g => by
         ext ⟨i, x⟩
         simp only [coe_mk, LinearEquiv.apply_symm_apply, comap_domain_apply]
-      map_add' := fun g h => by
-        ext ⟨i, x⟩
-        simp only [coe_mk, add_apply, LinearEquiv.map_add]
-      map_smul' := fun c h => by
-        ext ⟨i, x⟩
+      map_add' := fun g h => by ext ⟨i, x⟩; simp only [coe_mk, add_apply, LinearEquiv.map_add]
+      map_smul' := fun c h => by ext ⟨i, x⟩;
         simp only [coe_mk, smul_apply, LinearEquiv.map_smul, RingHom.id_apply] }
 #align finsupp.basis Finsupp.basis
 
Diff
@@ -122,10 +122,7 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
 #align finsupp.basis Finsupp.basis
 
 /- warning: finsupp.basis_repr -> Finsupp.basis_repr is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)), Eq.{succ u1} R (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (fun (_x : Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) => (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> R) (Finsupp.coeFun.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ (max u3 u2)) (succ (max (max u3 u4) u1)), max (succ (max u3 u2)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u1, u1, max u3 u2, max (max u3 u4) u1} 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) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max (max u3 u4) u1} 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) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) -> (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max (max u3 u4) u1} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _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)) (Basis.repr.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u1, u2, u3, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (fun (_x : Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) => (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) -> R) (Finsupp.coeFun.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} 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) M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} 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) M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => M -> (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _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)) (Basis.repr.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix))) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => ι -> M) (Finsupp.coeFun.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) g (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix))
-but is expected to have type
-  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u3, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) ix) (FunLike.coe.{max (succ (max u1 u4)) (succ u3), succ (max u1 u4), succ u3} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) _x) (Finsupp.funLike.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4), max (succ u2) (succ u1), max (max (succ u3) (succ u1)) (succ u4)} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribMulAction.toDistribSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u1, max (max u3 u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u3, u2, u1, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => R) _x) (Finsupp.funLike.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u4, max (max u3 u2) u4} R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u4, max (max u3 u2) u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) g (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix))
+<too large>
 Case conversion may be inaccurate. Consider using '#align finsupp.basis_repr Finsupp.basis_reprₓ'. -/
 @[simp]
 theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
@@ -214,10 +211,7 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
 #align finset.sum_single_ite Finset.sum_single_ite
 
 /- warning: basis.equiv_fun_symm_std_basis -> Basis.equivFun_symm_stdBasis is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
Diff
@@ -125,7 +125,7 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)), Eq.{succ u1} R (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (fun (_x : Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) => (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> R) (Finsupp.coeFun.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ (max u3 u2)) (succ (max (max u3 u4) u1)), max (succ (max u3 u2)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u1, u1, max u3 u2, max (max u3 u4) u1} 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) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max (max u3 u4) u1} 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) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) -> (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max (max u3 u4) u1} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _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)) (Basis.repr.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u1, u2, u3, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (fun (_x : Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) => (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) -> R) (Finsupp.coeFun.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} 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) M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} 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) M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => M -> (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _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)) (Basis.repr.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix))) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => ι -> M) (Finsupp.coeFun.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) g (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix))
 but is expected to have type
-  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u3, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) ix) (FunLike.coe.{max (succ (max u1 u4)) (succ u3), succ (max u1 u4), succ u3} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) _x) (Finsupp.funLike.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4), max (succ u2) (succ u1), max (max (succ u3) (succ u1)) (succ u4)} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribMulAction.toDistribSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u1, max (max u3 u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u3, u2, u1, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => R) _x) (Finsupp.funLike.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u4, max (max u3 u2) u4} R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u4, max (max u3 u2) u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) g (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix))
+  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u3, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) ix) (FunLike.coe.{max (succ (max u1 u4)) (succ u3), succ (max u1 u4), succ u3} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) _x) (Finsupp.funLike.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4), max (succ u2) (succ u1), max (max (succ u3) (succ u1)) (succ u4)} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribMulAction.toDistribSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u1, max (max u3 u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u3, u2, u1, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => R) _x) (Finsupp.funLike.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u4, max (max u3 u2) u4} R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u4, max (max u3 u2) u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) g (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix))
 Case conversion may be inaccurate. Consider using '#align finsupp.basis_repr Finsupp.basis_reprₓ'. -/
 @[simp]
 theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
@@ -217,7 +217,7 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
 Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
Diff
@@ -217,7 +217,7 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
 Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
Diff
@@ -217,7 +217,7 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
 Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
Diff
@@ -50,7 +50,7 @@ theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) :=
   by
-  apply @linearIndependent_unionᵢ_finite R _ _ _ _ ι φ fun i x => single i (f i x)
+  apply @linearIndependent_iUnion_finite R _ _ _ _ ι φ fun i x => single i (f i x)
   · intro i
     have h_disjoint : Disjoint (span R (range (f i))) (ker (lsingle i)) :=
       by
@@ -60,10 +60,10 @@ theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
   · intro i t ht hit
     refine' (disjoint_lsingle_lsingle {i} t (disjoint_singleton_left.2 hit)).mono _ _
     · rw [span_le]
-      simp only [supᵢ_singleton]
+      simp only [iSup_singleton]
       rw [range_coe]
       apply range_comp_subset_range
-    · refine' supᵢ₂_mono fun i hi => _
+    · refine' iSup₂_mono fun i hi => _
       rw [span_le, range_coe]
       apply range_comp_subset_range
 #align finsupp.linear_independent_single Finsupp.linearIndependent_single
Diff
@@ -217,7 +217,7 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11191 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
 Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
Diff
@@ -24,7 +24,7 @@ This file contains results on the `R`-module structure on functions of finite su
 
 noncomputable section
 
-attribute [local instance] Classical.propDecidable
+attribute [local instance 100] Classical.propDecidable
 
 open Set LinearMap Submodule
 
Diff
@@ -217,7 +217,7 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1309 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
 Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
 
 ! This file was ported from Lean 3 source module linear_algebra.finsupp_vector_space
-! leanprover-community/mathlib commit 59628387770d82eb6f6dd7b7107308aa2509ec95
+! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.LinearAlgebra.StdBasis
 /-!
 # Linear structures on function with finite support `ι →₀ M`
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file contains results on the `R`-module structure on functions of finite support from a type
 `ι` to an `R`-module `M`, in particular in the case that `R` is a field.
 
Diff
@@ -37,6 +37,12 @@ variable {R : Type _} {M : Type _} {ι : Type _}
 
 variable [Ring R] [AddCommGroup M] [Module R M]
 
+/- warning: finsupp.linear_independent_single -> Finsupp.linearIndependent_single is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {φ : ι -> Type.{u4}} {f : forall (ι : ι), (φ ι) -> M}, (forall (i : ι), LinearIndependent.{u4, u1, u2} (φ i) R M (f i) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (LinearIndependent.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (fun (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix) (f (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix))) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
+but is expected to have type
+  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {φ : ι -> Type.{u4}} {f : forall (ι : ι), (φ ι) -> M}, (forall (i : ι), LinearIndependent.{u4, u3, u2} (φ i) R M (f i) (Ring.toSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (LinearIndependent.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (fun (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix) (f (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix))) (Ring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u1, u2, u3} ι M R (Ring.toSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
+Case conversion may be inaccurate. Consider using '#align finsupp.linear_independent_single Finsupp.linearIndependent_singleₓ'. -/
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) :=
@@ -69,6 +75,12 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
 
 open LinearMap Submodule
 
+/- warning: finsupp.basis -> Finsupp.basis is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) -> (Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}}, (forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) -> (Basis.{max u4 u3, u1, max u2 u3} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align finsupp.basis Finsupp.basisₓ'. -/
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
 protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
   Basis.ofRepr
@@ -106,12 +118,24 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
         simp only [coe_mk, smul_apply, LinearEquiv.map_smul, RingHom.id_apply] }
 #align finsupp.basis Finsupp.basis
 
+/- warning: finsupp.basis_repr -> Finsupp.basis_repr is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)), Eq.{succ u1} R (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (fun (_x : Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) => (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> R) (Finsupp.coeFun.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ (max u3 u2)) (succ (max (max u3 u4) u1)), max (succ (max u3 u2)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u1, u1, max u3 u2, max (max u3 u4) u1} 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) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max (max u3 u4) u1} 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) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) -> (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max (max u3 u4) u1} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u3 u4, u1, u1} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _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)) (Basis.repr.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u1, u2, u3, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (fun (_x : Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) => (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) -> R) (Finsupp.coeFun.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} 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) M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} 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) M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => M -> (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u1, u1} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _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)) (Basis.repr.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix))) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => ι -> M) (Finsupp.coeFun.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) g (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix))
+but is expected to have type
+  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u3, u2} (φ i) R M _inst_1 _inst_2 _inst_3) (g : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) ix) (FunLike.coe.{max (succ (max u1 u4)) (succ u3), succ (max u1 u4), succ u3} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => R) _x) (Finsupp.funLike.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4), max (succ u2) (succ u1), max (max (succ u3) (succ u1)) (succ u4)} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2))) (DistribMulAction.toDistribSMul.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u2) u1) u4, u3, max u2 u1, max (max u3 u1) u4} (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u4} (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u1} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, max (max u3 u1) u4} R (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u1, max (max u3 u1) u4, max (max (max u3 u2) u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u2 u1, max u3 u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u1, max (max u3 u1) u4} R R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.addCommMonoid.{max u1 u4, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.module.{max u1 u4, u3, u3} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3) (Finsupp.basis.{u3, u2, u1, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) g) ix) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => R) _x) (Finsupp.funLike.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u4, max (max u3 u2) u4} R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u4, max (max u3 u2) u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u4} R R M (Finsupp.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3 (b (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) g (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix))) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix))
+Case conversion may be inaccurate. Consider using '#align finsupp.basis_repr Finsupp.basis_reprₓ'. -/
 @[simp]
 theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
     (Finsupp.basis b).repr g ix = (b ix.1).repr (g ix.1) ix.2 :=
   rfl
 #align finsupp.basis_repr Finsupp.basis_repr
 
+/- warning: finsupp.coe_basis -> Finsupp.coe_basis is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u1, u2} (φ i) R M _inst_1 _inst_2 _inst_3), Eq.{max (succ (max u3 u4)) (succ (max u3 u2))} ((Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (coeFn.{max (succ (max u3 u4)) (succ u1) (succ (max u3 u2)), max (succ (max u3 u4)) (succ (max u3 u2))} (Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3)) (fun (_x : Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3)) => (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (FunLike.hasCoeToFun.{max (succ (max u3 u4)) (succ u1) (succ (max u3 u2)), succ (max u3 u4), succ (max u3 u2)} (Basis.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3)) (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u3, u4} ι (fun (i : ι) => φ i)) => Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Basis.funLike.{max u3 u4, u1, max u3 u2} (Sigma.{u3, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι M _inst_2) (Finsupp.module.{u3, u2, u1} ι M R _inst_1 _inst_2 _inst_3))) (Finsupp.basis.{u1, u2, u3, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) (fun (ix : Sigma.{u3, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix) (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) => (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) => M) (Basis.funLike.{u4, u1, u2} (φ (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3)) (b (Sigma.fst.{u3, u4} ι (fun (i : ι) => φ i) ix)) (Sigma.snd.{u3, u4} ι (fun (i : ι) => φ i) ix)))
+but is expected to have type
+  forall {R : Type.{u3}} {M : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {φ : ι -> Type.{u4}} (b : forall (i : ι), Basis.{u4, u3, u2} (φ i) R M _inst_1 _inst_2 _inst_3), Eq.{max (max (succ u2) (succ u1)) (succ u4)} (forall (a : Sigma.{u1, u4} ι (fun (i : ι) => φ i)), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) a) (FunLike.coe.{max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u1)} (Basis.{max u4 u1, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) (fun (_x : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (Basis.funLike.{max u1 u4, u3, max u2 u1} (Sigma.{u1, u4} ι (fun (i : ι) => φ i)) R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι M _inst_2) (Finsupp.module.{u1, u2, u3} ι M R _inst_1 _inst_2 _inst_3)) (Finsupp.basis.{u3, u2, u1, u4} R M ι _inst_1 _inst_2 _inst_3 (fun (i : ι) => φ i) b)) (fun (ix : Sigma.{u1, u4} ι (fun (i : ι) => φ i)) => Finsupp.single.{u1, u2} ι ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)) _inst_2)) (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u4, succ u2} (Basis.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (fun (_x : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) => M) _x) (Basis.funLike.{u4, u3, u2} (φ (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) R M _inst_1 _inst_2 _inst_3) (b (Sigma.fst.{u1, u4} ι (fun (i : ι) => φ i) ix)) (Sigma.snd.{u1, u4} ι (fun (i : ι) => φ i) ix)))
+Case conversion may be inaccurate. Consider using '#align finsupp.coe_basis Finsupp.coe_basisₓ'. -/
 @[simp]
 theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
     ⇑(Finsupp.basis b) = fun ix : Σi, φ i => single ix.1 (b ix.1 ix.2) :=
@@ -126,12 +150,24 @@ theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
         zero_apply]
 #align finsupp.coe_basis Finsupp.coe_basis
 
+/- warning: finsupp.basis_single_one -> Finsupp.basisSingleOne is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Semiring.{u1} R], Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Semiring.{u1} R], Basis.{u2, u1, max u1 u2} ι R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align finsupp.basis_single_one Finsupp.basisSingleOneₓ'. -/
 /-- The basis on `ι →₀ M` with basis vectors `λ i, single i 1`. -/
 @[simps]
 protected def basisSingleOne : Basis ι R (ι →₀ R) :=
   Basis.ofRepr (LinearEquiv.refl _ _)
 #align finsupp.basis_single_one Finsupp.basisSingleOne
 
+/- warning: finsupp.coe_basis_single_one -> Finsupp.coe_basisSingleOne is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : Semiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => ι -> (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Finsupp.basisSingleOne.{u1, u2} R ι _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ (max u2 u1)), max (succ u2) (succ (max u2 u1))} (Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (fun (_x : Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) => ι -> (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (FunLike.hasCoeToFun.{max (succ u2) (succ u1) (succ (max u2 u1)), succ u2, succ (max u2 u1)} (Basis.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) ι (fun (_x : ι) => Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Basis.funLike.{u2, u1, max u2 u1} ι R (Finsupp.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.basisSingleOne.{u1, u2} R ι _inst_1)) (fun (i : ι) => Finsupp.single.{u2, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) i (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : Semiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : ι), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (Basis.{u1, u2, max u2 u1} ι R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (Basis.funLike.{u1, u2, max u1 u2} ι R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.basisSingleOne.{u2, u1} R ι _inst_1)) (fun (i : ι) => Finsupp.single.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align finsupp.coe_basis_single_one Finsupp.coe_basisSingleOneₓ'. -/
 @[simp]
 theorem coe_basisSingleOne : (Finsupp.basisSingleOne : ι → ι →₀ R) = fun i => Finsupp.single i 1 :=
   funext fun i => Basis.apply_eq_iff.mpr rfl
@@ -152,6 +188,12 @@ variable [DecidableEq n] [Fintype n]
 
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
+/- warning: finset.sum_single_ite -> Finset.sum_single_ite is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {n : Type.{u2}} [_inst_1 : DecidableEq.{succ u2} n] [_inst_2 : Fintype.{u2} n] [_inst_3 : Semiring.{u1} R] (a : R) (i : n), Eq.{succ (max u2 u1)} (Finsupp.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) (Finset.sum.{max u2 u1, u2} (Finsupp.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) n (Finsupp.addCommMonoid.{u2, u1} n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) (Finset.univ.{u2} n _inst_2) (fun (x : n) => Finsupp.single.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) x (ite.{succ u1} R (Eq.{succ u2} n i x) (_inst_1 i x) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))))))))) (Finsupp.single.{u2, u1} n R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) i a)
+but is expected to have type
+  forall {R : Type.{u2}} {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : Semiring.{u2} R] (a : R) (i : n), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3))) (Finset.sum.{max u2 u1, u1} (Finsupp.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3))) n (Finsupp.addCommMonoid.{u1, u2} n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Finset.univ.{u1} n _inst_2) (fun (x : n) => Finsupp.single.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) x (ite.{succ u2} R (Eq.{succ u1} n i x) (_inst_1 i x) a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3))))))) (Finsupp.single.{u1, u2} n R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) i a)
+Case conversion may be inaccurate. Consider using '#align finset.sum_single_ite Finset.sum_single_iteₓ'. -/
 theorem Finset.sum_single_ite (a : R) (i : n) :
     (Finset.univ.Sum fun x : n => Finsupp.single x (ite (i = x) a 0)) = Finsupp.single i a :=
   by
@@ -168,6 +210,12 @@ theorem Finset.sum_single_ite (a : R) (i : n) :
   simp [hx']
 #align finset.sum_single_ite Finset.sum_single_ite
 
+/- warning: basis.equiv_fun_symm_std_basis -> Basis.equivFun_symm_stdBasis is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_3 _inst_4] (b : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u2} M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5) => (n -> R) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_4 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, u2, max u3 u1} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)))) _inst_5 (Pi.Function.module.{u3, u1, u1} n R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Basis.equivFun.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3))) => R -> (forall (i : n), (fun (_x : n) => R) i)) (LinearMap.hasCoeToFun.{u1, u1, u1, max u3 u1} R R ((fun (_x : n) => R) i) (forall (i : n), (fun (_x : n) => R) i) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u1} n (fun (i : n) => (fun (_x : n) => R) i) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u1} R _inst_3) (Pi.module.{u3, u1, u1} n (fun (i : n) => (fun (_x : n) => R) i) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (LinearMap.stdBasis.{u1, u3, u1} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u1} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u1} ((fun (_x : n) => R) i) 1 (OfNat.mk.{u1} ((fun (_x : n) => R) i) 1 (One.one.{u1} ((fun (_x : n) => R) i) (AddMonoidWithOne.toOne.{u1} ((fun (_x : n) => R) i) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} ((fun (_x : n) => R) i) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} ((fun (_x : n) => R) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_x : n) => R) i) _inst_3))))))))) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) (fun (_x : Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) => n -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => M) (Basis.funLike.{u3, u1, u2} n R M _inst_3 _inst_4 _inst_5)) b i)
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} {n : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} n] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_3 _inst_4] (b : Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) (i : n), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : n -> R) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (SMulZeroClass.toSMul.{u2, max u2 u3} R (n -> R) (AddMonoid.toZero.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (n -> R) (AddMonoid.toAddZeroClass.{max u2 u3} (n -> R) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) R (n -> R) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (n -> R) (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u2, max u2 u3} R (n -> R) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) (Module.toDistribMulAction.{u2, u1} R M _inst_3 _inst_4 _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (n -> R) M (LinearEquiv.{u2, u2, max u2 u3, u1} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (n -> R) M (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (n -> R) M _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_4 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3)))))) (LinearEquiv.symm.{u2, u2, u1, max u2 u3} R R M (n -> R) _inst_3 _inst_3 _inst_4 (Pi.addCommMonoid.{u3, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)))) _inst_5 (Pi.module.{u3, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11185 : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) (RingHomInvPair.ids.{u2} R _inst_3) (RingHomInvPair.ids.{u2} R _inst_3) (Basis.equivFun.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5 _inst_2 b)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3)) R (n -> R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.LinearAlgebra.FinsuppVectorSpace._hyg.1303 : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u2 u3} R R R (n -> R) _inst_3 _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (Pi.addCommMonoid.{u3, u2} n (fun (i : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3)))) (Semiring.toModule.{u2} R _inst_3) (Pi.module.{u3, u2, u2} n (fun (i : n) => R) R _inst_3 (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_3))) (LinearMap.stdBasis.{u2, u3, u2} R n _inst_3 (fun (_x : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (ᾰ : n) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) (Semiring.toNonAssocSemiring.{u2} ((fun (ᾰ : n) => R) i) _inst_3))) (fun (i : n) => Semiring.toModule.{u2} R _inst_3) (fun (a : n) (b : n) => _inst_1 a b) i) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_3))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) n (fun (_x : n) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : n) => M) _x) (Basis.funLike.{u3, u2, u1} n R M _inst_3 _inst_4 _inst_5) b i)
+Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasisₓ'. -/
 @[simp]
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
     b.equivFun.symm (LinearMap.stdBasis R (fun _ => R) i 1) = b i :=
Diff
@@ -4,11 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
 
 ! This file was ported from Lean 3 source module linear_algebra.finsupp_vector_space
-! leanprover-community/mathlib commit 019ead10c09bb91f49b1b7005d442960b1e0485f
+! leanprover-community/mathlib commit 59628387770d82eb6f6dd7b7107308aa2509ec95
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
-import Mathbin.LinearAlgebra.Dimension
 import Mathbin.LinearAlgebra.StdBasis
 
 /-!
@@ -17,11 +16,6 @@ import Mathbin.LinearAlgebra.StdBasis
 This file contains results on the `R`-module structure on functions of finite support from a type
 `ι` to an `R`-module `M`, in particular in the case that `R` is a field.
 
-Furthermore, it contains some facts about isomorphisms of vector spaces from equality of dimension.
-
-## TODO
-
-Move the second half of this file to more appropriate other files.
 -/
 
 
@@ -145,68 +139,10 @@ theorem coe_basisSingleOne : (Finsupp.basisSingleOne : ι → ι →₀ R) = fun
 
 end Semiring
 
-section Dim
-
-variable {K : Type u} {V : Type v} {ι : Type v}
-
-variable [Field K] [AddCommGroup V] [Module K V]
-
-theorem dim_eq : Module.rank K (ι →₀ V) = (#ι) * Module.rank K V :=
-  by
-  let bs := Basis.ofVectorSpace K V
-  rw [← bs.mk_eq_dim'', ← (Finsupp.basis fun a : ι => bs).mk_eq_dim'', Cardinal.mk_sigma,
-    Cardinal.sum_const']
-#align finsupp.dim_eq Finsupp.dim_eq
-
-end Dim
-
 end Finsupp
 
-section Module
-
-variable {K : Type u} {V V₁ V₂ : Type v} {V' : Type w}
+/-! TODO: move this section to an earlier file. -/
 
-variable [Field K]
-
-variable [AddCommGroup V] [Module K V]
-
-variable [AddCommGroup V₁] [Module K V₁]
-
-variable [AddCommGroup V₂] [Module K V₂]
-
-variable [AddCommGroup V'] [Module K V']
-
-open Module
-
-theorem equiv_of_dim_eq_lift_dim
-    (h : Cardinal.lift.{w} (Module.rank K V) = Cardinal.lift.{v} (Module.rank K V')) :
-    Nonempty (V ≃ₗ[K] V') := by
-  haveI := Classical.decEq V
-  haveI := Classical.decEq V'
-  let m := Basis.ofVectorSpace K V
-  let m' := Basis.ofVectorSpace K V'
-  rw [← Cardinal.lift_inj.1 m.mk_eq_dim, ← Cardinal.lift_inj.1 m'.mk_eq_dim] at h
-  rcases Quotient.exact h with ⟨e⟩
-  let e := (equiv.ulift.symm.trans e).trans Equiv.ulift
-  exact ⟨m.repr ≪≫ₗ Finsupp.domLCongr e ≪≫ₗ m'.repr.symm⟩
-#align equiv_of_dim_eq_lift_dim equiv_of_dim_eq_lift_dim
-
-/-- Two `K`-vector spaces are equivalent if their dimension is the same. -/
-def equivOfDimEqDim (h : Module.rank K V₁ = Module.rank K V₂) : V₁ ≃ₗ[K] V₂ := by
-  classical exact Classical.choice (equiv_of_dim_eq_lift_dim (Cardinal.lift_inj.2 h))
-#align equiv_of_dim_eq_dim equivOfDimEqDim
-
-/-- An `n`-dimensional `K`-vector space is equivalent to `fin n → K`. -/
-def finDimVectorspaceEquiv (n : ℕ) (hn : Module.rank K V = n) : V ≃ₗ[K] Fin n → K :=
-  by
-  have : Cardinal.lift.{u} (n : Cardinal.{v}) = Cardinal.lift.{v} (n : Cardinal.{u}) := by simp
-  have hn := Cardinal.lift_inj.{v, u}.2 hn
-  rw [this] at hn
-  rw [← @dim_fin_fun K _ n] at hn
-  exact Classical.choice (equiv_of_dim_eq_lift_dim hn)
-#align fin_dim_vectorspace_equiv finDimVectorspaceEquiv
-
-end Module
 
 namespace Basis
 
Diff
@@ -77,7 +77,7 @@ open LinearMap Submodule
 
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
 protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
-  Basis.of_repr
+  Basis.ofRepr
     { toFun := fun g =>
         { toFun := fun ix => (b ix.1).repr (g ix.1) ix.2
           support := g.support.Sigma fun i => ((b i).repr (g i)).support
@@ -135,7 +135,7 @@ theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
 /-- The basis on `ι →₀ M` with basis vectors `λ i, single i 1`. -/
 @[simps]
 protected def basisSingleOne : Basis ι R (ι →₀ R) :=
-  Basis.of_repr (LinearEquiv.refl _ _)
+  Basis.ofRepr (LinearEquiv.refl _ _)
 #align finsupp.basis_single_one Finsupp.basisSingleOne
 
 @[simp]
Diff
@@ -47,7 +47,7 @@ theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) :=
   by
-  apply @linearIndependent_Union_finite R _ _ _ _ ι φ fun i x => single i (f i x)
+  apply @linearIndependent_unionᵢ_finite R _ _ _ _ ι φ fun i x => single i (f i x)
   · intro i
     have h_disjoint : Disjoint (span R (range (f i))) (ker (lsingle i)) :=
       by

Changes in mathlib4

mathlib3
mathlib4
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11801)
Diff
@@ -68,7 +68,7 @@ protected def basis {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) : Basis (
         { toFun := fun ix => (b ix.1).repr (g ix.1) ix.2
           support := g.support.sigma fun i => ((b i).repr (g i)).support
           mem_support_toFun := fun ix => by
-            simp only [Finset.mem_sigma, mem_support_iff, and_iff_right_iff_imp, Ne.def]
+            simp only [Finset.mem_sigma, mem_support_iff, and_iff_right_iff_imp, Ne]
             intro b hg
             simp [hg] at b }
       invFun := fun g =>
@@ -76,7 +76,7 @@ protected def basis {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) : Basis (
             (b i).repr.symm (g.comapDomain _ (Set.injOn_of_injective sigma_mk_injective _))
           support := g.support.image Sigma.fst
           mem_support_toFun := fun i => by
-            rw [Ne.def, ← (b i).repr.injective.eq_iff, (b i).repr.apply_symm_apply,
+            rw [Ne, ← (b i).repr.injective.eq_iff, (b i).repr.apply_symm_apply,
                 DFunLike.ext_iff]
             simp only [exists_prop, LinearEquiv.map_zero, comapDomain_apply, zero_apply,
               exists_and_right, mem_support_iff, exists_eq_right, Sigma.exists, Finset.mem_image,
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -29,7 +29,6 @@ namespace Finsupp
 section Ring
 
 variable {R : Type*} {M : Type*} {ι : Type*}
-
 variable [Ring R] [AddCommGroup M] [Module R M]
 
 theorem linearIndependent_single {φ : ι → Type*} {f : ∀ ι, φ ι → M}
@@ -57,7 +56,6 @@ end Ring
 section Semiring
 
 variable {R : Type*} {M : Type*} {ι : Type*}
-
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
 open LinearMap Submodule
@@ -158,9 +156,7 @@ end DFinsupp
 namespace Basis
 
 variable {R M n : Type*}
-
 variable [DecidableEq n]
-
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
 theorem _root_.Finset.sum_single_ite [Fintype n] (a : R) (i : n) :
chore: replace λ by fun (#11301)

Per the style guidelines, λ is disallowed in mathlib. This is close to exhaustive; I left some tactic code alone when it seemed to me that tactic could be upstreamed soon.

Notes

  • In lines I was modifying anyway, I also converted => to .
  • Also contains some mild in-passing indentation fixes in Mathlib/Order/SupClosed.
  • Some doc comments still contained Lean 3 syntax λ x, , which I also replaced.
Diff
@@ -63,7 +63,7 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
 open LinearMap Submodule
 
 open scoped Classical in
-/-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
+/-- The basis on `ι →₀ M` with basis vectors `fun ⟨i, x⟩ ↦ single i (b i x)`. -/
 protected def basis {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
   Basis.ofRepr
     { toFun := fun g =>
chore(FinsuppVectorSpace): golf, Fintype -> Finite (#10464)
  • Golf Finset.sum_single_ite. Should it go to another file?
  • Assume Finite instead of Fintype in equivFun_symm_stdBasis.
Diff
@@ -20,8 +20,7 @@ This file contains results on the `R`-module structure on functions of finite su
 noncomputable section
 
 open Set LinearMap Submodule
-
-open Cardinal
+open scoped Cardinal BigOperators
 
 universe u v w
 
@@ -160,29 +159,19 @@ namespace Basis
 
 variable {R M n : Type*}
 
-variable [DecidableEq n] [Fintype n]
+variable [DecidableEq n]
 
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
--- Porting note: looks like a diamond with Subtype.fintype
-attribute [-instance] fintypePure fintypeSingleton
-theorem _root_.Finset.sum_single_ite (a : R) (i : n) :
-    (Finset.univ.sum fun x : n => Finsupp.single x (ite (i = x) a 0)) = Finsupp.single i a := by
-  rw [Finset.sum_congr_set {i} (fun x : n => Finsupp.single x (ite (i = x) a 0)) fun _ =>
-      Finsupp.single i a]
-  · simp
-  · intro x hx
-    rw [Set.mem_singleton_iff] at hx
-    simp [hx]
-  intro x hx
-  have hx' : ¬i = x := by
-    refine' ne_comm.mp _
-    rwa [mem_singleton_iff] at hx
-  simp [hx']
+theorem _root_.Finset.sum_single_ite [Fintype n] (a : R) (i : n) :
+    (∑ x : n, Finsupp.single x (if i = x then a else 0)) = Finsupp.single i a := by
+  simp only [apply_ite (Finsupp.single _), Finsupp.single_zero, Finset.sum_ite_eq,
+    if_pos (Finset.mem_univ _)]
 #align finset.sum_single_ite Finset.sum_single_ite
 
-theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
+theorem equivFun_symm_stdBasis [Finite n] (b : Basis n R M) (i : n) :
     b.equivFun.symm (LinearMap.stdBasis R (fun _ => R) i 1) = b i := by
+  cases nonempty_fintype n
   simp
 #align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasis
 
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -79,7 +79,8 @@ protected def basis {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) : Basis (
             (b i).repr.symm (g.comapDomain _ (Set.injOn_of_injective sigma_mk_injective _))
           support := g.support.image Sigma.fst
           mem_support_toFun := fun i => by
-            rw [Ne.def, ← (b i).repr.injective.eq_iff, (b i).repr.apply_symm_apply, FunLike.ext_iff]
+            rw [Ne.def, ← (b i).repr.injective.eq_iff, (b i).repr.apply_symm_apply,
+                DFunLike.ext_iff]
             simp only [exists_prop, LinearEquiv.map_zero, comapDomain_apply, zero_apply,
               exists_and_right, mem_support_iff, exists_eq_right, Sigma.exists, Finset.mem_image,
               not_forall] }
feat: (if P then 1 else 0) • a (#8347)

Two simple lemmas, smul_ite_zero, and ite_smul_zero. Also delete Finset.sum_univ_ite since it is now provable by simp thanks to these.

Rename and turn around the following to match the direction that simp goes in:

  • ite_mul_zero_leftite_zero_mul
  • ite_mul_zero_rightmul_ite_zero
  • ite_and_mul_zeroite_zero_mul_ite_zero
Diff
@@ -180,12 +180,6 @@ theorem _root_.Finset.sum_single_ite (a : R) (i : n) :
   simp [hx']
 #align finset.sum_single_ite Finset.sum_single_ite
 
--- Porting note: LHS of equivFun_symm_stdBasis simplifies to this
-@[simp]
-theorem _root_.Finset.sum_univ_ite (b : n → M) (i : n) :
-    (Finset.sum Finset.univ fun (x : n) => (if i = x then (1:R) else 0) • b x) = b i := by
-  simp only [ite_smul, zero_smul, one_smul, Finset.sum_ite_eq, Finset.mem_univ, ite_true]
-
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
     b.equivFun.symm (LinearMap.stdBasis R (fun _ => R) i 1) = b i := by
   simp
chore(LinearAlgebra/DFinsupp): remove dependency on Basis (#6706)

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

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
 -/
+import Mathlib.LinearAlgebra.DFinsupp
 import Mathlib.LinearAlgebra.StdBasis
 
 #align_import linear_algebra.finsupp_vector_space from "leanprover-community/mathlib"@"59628387770d82eb6f6dd7b7107308aa2509ec95"
@@ -136,6 +137,21 @@ end Semiring
 
 end Finsupp
 
+namespace DFinsupp
+variable {ι : Type*} {R : Type*} {M : ι → Type*}
+variable [Semiring R] [∀ i, AddCommMonoid (M i)] [∀ i, Module R (M i)]
+
+/-- The direct sum of free modules is free.
+
+Note that while this is stated for `DFinsupp` not `DirectSum`, the types are defeq. -/
+noncomputable def basis {η : ι → Type*} (b : ∀ i, Basis (η i) R (M i)) :
+    Basis (Σi, η i) R (Π₀ i, M i) :=
+  .ofRepr
+    ((mapRange.linearEquiv fun i => (b i).repr).trans (sigmaFinsuppLequivDFinsupp R).symm)
+#align dfinsupp.basis DFinsupp.basis
+
+end DFinsupp
+
 /-! TODO: move this section to an earlier file. -/
 
 
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -28,11 +28,11 @@ namespace Finsupp
 
 section Ring
 
-variable {R : Type _} {M : Type _} {ι : Type _}
+variable {R : Type*} {M : Type*} {ι : Type*}
 
 variable [Ring R] [AddCommGroup M] [Module R M]
 
-theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
+theorem linearIndependent_single {φ : ι → Type*} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) := by
   apply @linearIndependent_iUnion_finite R _ _ _ _ ι φ fun i x => single i (f i x)
@@ -56,7 +56,7 @@ end Ring
 
 section Semiring
 
-variable {R : Type _} {M : Type _} {ι : Type _}
+variable {R : Type*} {M : Type*} {ι : Type*}
 
 variable [Semiring R] [AddCommMonoid M] [Module R M]
 
@@ -64,7 +64,7 @@ open LinearMap Submodule
 
 open scoped Classical in
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
-protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
+protected def basis {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
   Basis.ofRepr
     { toFun := fun g =>
         { toFun := fun ix => (b ix.1).repr (g ix.1) ix.2
@@ -99,13 +99,13 @@ protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (
 #align finsupp.basis Finsupp.basis
 
 @[simp]
-theorem basis_repr {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
+theorem basis_repr {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) (g : ι →₀ M) (ix) :
     (Finsupp.basis b).repr g ix = (b ix.1).repr (g ix.1) ix.2 :=
   rfl
 #align finsupp.basis_repr Finsupp.basis_repr
 
 @[simp]
-theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
+theorem coe_basis {φ : ι → Type*} (b : ∀ i, Basis (φ i) R M) :
     ⇑(Finsupp.basis b) = fun ix : Σi, φ i => single ix.1 (b ix.1 ix.2) :=
   funext fun ⟨i, x⟩ =>
     Basis.apply_eq_iff.mpr <| by
@@ -141,7 +141,7 @@ end Finsupp
 
 namespace Basis
 
-variable {R M n : Type _}
+variable {R M n : Type*}
 
 variable [DecidableEq n] [Fintype n]
 
chore(LinearAlgebra): remove open Classical (#6320)

This uncovers a few situations where a lemma was stated with the wrong decidability assumption. The corrected lemmas are strictly more syntactically-general.

This is exhaustive in the LinearAlgebra folder.

Where removal is impractical, this switches to open Classical in to make the intent clear.

Diff
@@ -18,8 +18,6 @@ This file contains results on the `R`-module structure on functions of finite su
 
 noncomputable section
 
-open Classical
-
 open Set LinearMap Submodule
 
 open Cardinal
@@ -64,6 +62,7 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
 
 open LinearMap Submodule
 
+open scoped Classical in
 /-- The basis on `ι →₀ M` with basis vectors `λ ⟨i, x⟩, single i (b i x)`. -/
 protected def basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) : Basis (Σi, φ i) R (ι →₀ M) :=
   Basis.ofRepr
@@ -110,6 +109,7 @@ theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
     ⇑(Finsupp.basis b) = fun ix : Σi, φ i => single ix.1 (b ix.1 ix.2) :=
   funext fun ⟨i, x⟩ =>
     Basis.apply_eq_iff.mpr <| by
+      classical
       ext ⟨j, y⟩
       by_cases h : i = j
       · cases h
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
-
-! This file was ported from Lean 3 source module linear_algebra.finsupp_vector_space
-! leanprover-community/mathlib commit 59628387770d82eb6f6dd7b7107308aa2509ec95
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.StdBasis
 
+#align_import linear_algebra.finsupp_vector_space from "leanprover-community/mathlib"@"59628387770d82eb6f6dd7b7107308aa2509ec95"
+
 /-!
 # Linear structures on function with finite support `ι →₀ M`
 
chore: convert lambda in docs to fun (#5045)

Found with git grep -n "λ [a-zA-Z_ ]*,"

Diff
@@ -124,7 +124,7 @@ theorem coe_basis {φ : ι → Type _} (b : ∀ i, Basis (φ i) R M) :
         zero_apply]
 #align finsupp.coe_basis Finsupp.coe_basis
 
-/-- The basis on `ι →₀ M` with basis vectors `λ i, single i 1`. -/
+/-- The basis on `ι →₀ M` with basis vectors `fun i ↦ single i 1`. -/
 @[simps]
 protected def basisSingleOne : Basis ι R (ι →₀ R) :=
   Basis.ofRepr (LinearEquiv.refl _ _)
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -37,7 +37,6 @@ variable {R : Type _} {M : Type _} {ι : Type _}
 
 variable [Ring R] [AddCommGroup M] [Module R M]
 
-set_option maxHeartbeats 300000 in
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) := by
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

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

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

Diff
@@ -41,7 +41,7 @@ set_option maxHeartbeats 300000 in
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) := by
-  apply @linearIndependent_unionᵢ_finite R _ _ _ _ ι φ fun i x => single i (f i x)
+  apply @linearIndependent_iUnion_finite R _ _ _ _ ι φ fun i x => single i (f i x)
   · intro i
     have h_disjoint : Disjoint (span R (range (f i))) (ker (lsingle i)) := by
       rw [ker_lsingle]
@@ -50,10 +50,10 @@ theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
   · intro i t _ hit
     refine' (disjoint_lsingle_lsingle {i} t (disjoint_singleton_left.2 hit)).mono _ _
     · rw [span_le]
-      simp only [supᵢ_singleton]
+      simp only [iSup_singleton]
       rw [range_coe]
       apply range_comp_subset_range _ (lsingle i)
-    · refine' supᵢ₂_mono fun i hi => _
+    · refine' iSup₂_mono fun i hi => _
       rw [span_le, range_coe]
       apply range_comp_subset_range _ (lsingle i)
 #align finsupp.linear_independent_single Finsupp.linearIndependent_single
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -177,7 +177,6 @@ theorem _root_.Finset.sum_univ_ite (b : n → M) (i : n) :
 theorem equivFun_symm_stdBasis (b : Basis n R M) (i : n) :
     b.equivFun.symm (LinearMap.stdBasis R (fun _ => R) i 1) = b i := by
   simp
-
 #align basis.equiv_fun_symm_std_basis Basis.equivFun_symm_stdBasis
 
 end Basis
chore: bump to nightly-2023-04-11 (#3139)
Diff
@@ -21,7 +21,7 @@ This file contains results on the `R`-module structure on functions of finite su
 
 noncomputable section
 
-attribute [local instance] Classical.propDecidable
+open Classical
 
 open Set LinearMap Submodule
 
@@ -37,6 +37,7 @@ variable {R : Type _} {M : Type _} {ι : Type _}
 
 variable [Ring R] [AddCommGroup M] [Module R M]
 
+set_option maxHeartbeats 300000 in
 theorem linearIndependent_single {φ : ι → Type _} {f : ∀ ι, φ ι → M}
     (hf : ∀ i, LinearIndependent R (f i)) :
     LinearIndependent R fun ix : Σi, φ i => single ix.1 (f ix.1 ix.2) := by
feat: port LinearAlgebra.FinsuppVectorSpace (#3294)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: ChrisHughes24 <chrishughes24@gmail.com>

Dependencies 8 + 431

432 files ported (98.2%)
178915 lines ported (98.3%)
Show graph

The unported dependencies are