linear_algebra.finsupp_vector_space
⟷
Mathlib.LinearAlgebra.FinsuppVectorSpace
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/b1abe23ae96fef89ad30d9f4362c307f72a55010
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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`
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -28,7 +28,7 @@ attribute [local instance 100] Classical.propDecidable
open Set LinearMap Submodule
-open Cardinal
+open scoped Cardinal
universe u v w
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9b2b58d6b14b895b2f375108e765cb47de71aebd
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/09079525fd01b3dda35e96adaa08d2f943e1648c
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/347636a7a80595d55bedf6e6fbd996a3c39da69a
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/284fdd2962e67d2932fa3a79ce19fcf92d38e228
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/5ec62c8106221a3f9160e4e4fcc3eed79fe213e9
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/3cacc945118c8c637d89950af01da78307f59325
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/3ade05ac9447ae31a22d2ea5423435e054131240
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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,
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)
@@ -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) :
λ
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
=>
to ↦
.Mathlib/Order/SupClosed
.λ x,
, which I also replaced.@@ -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 =>
Fintype
-> Finite
(#10464)
Finset.sum_single_ite
. Should it go to another file?Finite
instead of Fintype
in equivFun_symm_stdBasis
.@@ -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
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>
@@ -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] }
(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_left
→ ite_zero_mul
ite_mul_zero_right
→ mul_ite_zero
ite_and_mul_zero
→ ite_zero_mul_ite_zero
@@ -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
Basis
(#6706)
The motivation here is to explore re-defining Basis
with DFinsupp
instead of Finsupp
, in order to make it computable.
@@ -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. -/
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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]
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.
@@ -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
@@ -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`
@@ -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 _ _)
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -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
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -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
This PR fixes two things:
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.#align
statements. (This was needed for a script I wrote for #3630.)@@ -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
@@ -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
The unported dependencies are