From 5864437dd306ac44fb729924b324b0ac9d6b9eb2 Mon Sep 17 00:00:00 2001 From: leanprover-community-bot Date: Wed, 29 Mar 2023 00:40:37 +0000 Subject: [PATCH] bump to nightly-2023-03-29-00 mathlib commit https://github.com/leanprover-community/mathlib/commit/728baa2f54e6062c5879a3e397ac6bac323e506f --- .../CategoryTheory/Adjunction/Opposites.lean | 102 ++++++++++++++++++ Mathbin/CategoryTheory/Linear/Basic.lean | 14 +++ Mathbin/LinearAlgebra/Finsupp.lean | 44 +++++--- lake-manifest.json | 8 +- lakefile.lean | 4 +- 5 files changed, 153 insertions(+), 19 deletions(-) diff --git a/Mathbin/CategoryTheory/Adjunction/Opposites.lean b/Mathbin/CategoryTheory/Adjunction/Opposites.lean index 5ed7c459b3..97a0be6c7b 100644 --- a/Mathbin/CategoryTheory/Adjunction/Opposites.lean +++ b/Mathbin/CategoryTheory/Adjunction/Opposites.lean @@ -33,6 +33,7 @@ variable {C : Type u₁} [Category.{v₁} C] {D : Type u₂} [Category.{v₂} D] namespace CategoryTheory.Adjunction +#print CategoryTheory.Adjunction.adjointOfOpAdjointOp /- /-- If `G.op` is adjoint to `F.op` then `F` is adjoint to `G`. -/ @[simps] def adjointOfOpAdjointOp (F : C ⥤ D) (G : D ⥤ C) (h : G.op ⊣ F.op) : F ⊣ G := @@ -42,22 +43,30 @@ def adjointOfOpAdjointOp (F : C ⥤ D) (G : D ⥤ C) (h : G.op ⊣ F.op) : F ⊣ ((h.homEquiv (Opposite.op Y) (Opposite.op X)).trans (opEquiv _ _)).symm.trans (opEquiv _ _) } #align category_theory.adjunction.adjoint_of_op_adjoint_op CategoryTheory.Adjunction.adjointOfOpAdjointOp +-/ +#print CategoryTheory.Adjunction.adjointUnopOfAdjointOp /- /-- If `G` is adjoint to `F.op` then `F` is adjoint to `G.unop`. -/ def adjointUnopOfAdjointOp (F : C ⥤ D) (G : Dᵒᵖ ⥤ Cᵒᵖ) (h : G ⊣ F.op) : F ⊣ G.unop := adjointOfOpAdjointOp F G.unop (h.ofNatIsoLeft G.opUnopIso.symm) #align category_theory.adjunction.adjoint_unop_of_adjoint_op CategoryTheory.Adjunction.adjointUnopOfAdjointOp +-/ +#print CategoryTheory.Adjunction.unopAdjointOfOpAdjoint /- /-- If `G.op` is adjoint to `F` then `F.unop` is adjoint to `G`. -/ def unopAdjointOfOpAdjoint (F : Cᵒᵖ ⥤ Dᵒᵖ) (G : D ⥤ C) (h : G.op ⊣ F) : F.unop ⊣ G := adjointOfOpAdjointOp _ _ (h.ofNatIsoRight F.opUnopIso.symm) #align category_theory.adjunction.unop_adjoint_of_op_adjoint CategoryTheory.Adjunction.unopAdjointOfOpAdjoint +-/ +#print CategoryTheory.Adjunction.unopAdjointUnopOfAdjoint /- /-- If `G` is adjoint to `F` then `F.unop` is adjoint to `G.unop`. -/ def unopAdjointUnopOfAdjoint (F : Cᵒᵖ ⥤ Dᵒᵖ) (G : Dᵒᵖ ⥤ Cᵒᵖ) (h : G ⊣ F) : F.unop ⊣ G.unop := adjointUnopOfAdjointOp F.unop G (h.ofNatIsoRight F.opUnopIso.symm) #align category_theory.adjunction.unop_adjoint_unop_of_adjoint CategoryTheory.Adjunction.unopAdjointUnopOfAdjoint +-/ +#print CategoryTheory.Adjunction.opAdjointOpOfAdjoint /- /-- If `G` is adjoint to `F` then `F.op` is adjoint to `G.op`. -/ @[simps] def opAdjointOpOfAdjoint (F : C ⥤ D) (G : D ⥤ C) (h : G ⊣ F) : F.op ⊣ G.op := @@ -66,22 +75,30 @@ def opAdjointOpOfAdjoint (F : C ⥤ D) (G : D ⥤ C) (h : G ⊣ F) : F.op ⊣ G. homEquiv := fun X Y => (opEquiv _ Y).trans ((h.homEquiv _ _).symm.trans (opEquiv X (Opposite.op _)).symm) } #align category_theory.adjunction.op_adjoint_op_of_adjoint CategoryTheory.Adjunction.opAdjointOpOfAdjoint +-/ +#print CategoryTheory.Adjunction.adjointOpOfAdjointUnop /- /-- If `G` is adjoint to `F.unop` then `F` is adjoint to `G.op`. -/ def adjointOpOfAdjointUnop (F : Cᵒᵖ ⥤ Dᵒᵖ) (G : D ⥤ C) (h : G ⊣ F.unop) : F ⊣ G.op := (opAdjointOpOfAdjoint F.unop _ h).ofNatIsoLeft F.opUnopIso #align category_theory.adjunction.adjoint_op_of_adjoint_unop CategoryTheory.Adjunction.adjointOpOfAdjointUnop +-/ +#print CategoryTheory.Adjunction.opAdjointOfUnopAdjoint /- /-- If `G.unop` is adjoint to `F` then `F.op` is adjoint to `G`. -/ def opAdjointOfUnopAdjoint (F : C ⥤ D) (G : Dᵒᵖ ⥤ Cᵒᵖ) (h : G.unop ⊣ F) : F.op ⊣ G := (opAdjointOpOfAdjoint _ G.unop h).ofNatIsoRight G.opUnopIso #align category_theory.adjunction.op_adjoint_of_unop_adjoint CategoryTheory.Adjunction.opAdjointOfUnopAdjoint +-/ +#print CategoryTheory.Adjunction.adjointOfUnopAdjointUnop /- /-- If `G.unop` is adjoint to `F.unop` then `F` is adjoint to `G`. -/ def adjointOfUnopAdjointUnop (F : Cᵒᵖ ⥤ Dᵒᵖ) (G : Dᵒᵖ ⥤ Cᵒᵖ) (h : G.unop ⊣ F.unop) : F ⊣ G := (adjointOpOfAdjointUnop _ _ h).ofNatIsoRight G.opUnopIso #align category_theory.adjunction.adjoint_of_unop_adjoint_unop CategoryTheory.Adjunction.adjointOfUnopAdjointUnop +-/ +#print CategoryTheory.Adjunction.leftAdjointsCoyonedaEquiv /- /-- If `F` and `F'` are both adjoint to `G`, there is a natural isomorphism `F.op ⋙ coyoneda ≅ F'.op ⋙ coyoneda`. We use this in combination with `fully_faithful_cancel_right` to show left adjoints are unique. @@ -94,12 +111,21 @@ def leftAdjointsCoyonedaEquiv {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (a (fun Y => ((adj1.homEquiv X.unop Y).trans (adj2.homEquiv X.unop Y).symm).toIso) (by tidy)) (by tidy) #align category_theory.adjunction.left_adjoints_coyoneda_equiv CategoryTheory.Adjunction.leftAdjointsCoyonedaEquiv +-/ +#print CategoryTheory.Adjunction.leftAdjointUniq /- /-- If `F` and `F'` are both left adjoint to `G`, then they are naturally isomorphic. -/ def leftAdjointUniq {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) : F ≅ F' := NatIso.removeOp (fullyFaithfulCancelRight _ (leftAdjointsCoyonedaEquiv adj2 adj1)) #align category_theory.adjunction.left_adjoint_uniq CategoryTheory.Adjunction.leftAdjointUniq +-/ +/- warning: category_theory.adjunction.hom_equiv_left_adjoint_uniq_hom_app -> CategoryTheory.Adjunction.homEquiv_leftAdjointUniq_hom_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : C), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x))) (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)))) (fun (_x : Equiv.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)))) => (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)) -> (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)))) (Equiv.hasCoeToFun.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)))) (CategoryTheory.Adjunction.homEquiv.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1 x (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x)) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F' G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G adj2) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : C), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) => Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x))) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)))) (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) (fun (_x : Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) => Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x))) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) x (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)))) (CategoryTheory.Adjunction.homEquiv.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1 x (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x)) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F' G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G adj2) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.hom_equiv_left_adjoint_uniq_hom_app CategoryTheory.Adjunction.homEquiv_leftAdjointUniq_hom_appₓ'. -/ @[simp] theorem homEquiv_leftAdjointUniq_hom_app {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) (x : C) : adj1.homEquiv _ _ ((leftAdjointUniq adj1 adj2).Hom.app x) = adj2.Unit.app x := @@ -112,6 +138,7 @@ theorem homEquiv_leftAdjointUniq_hom_app {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : simpa [left_adjoint_uniq, left_adjoints_coyoneda_equiv] #align category_theory.adjunction.hom_equiv_left_adjoint_uniq_hom_app CategoryTheory.Adjunction.homEquiv_leftAdjointUniq_hom_app +#print CategoryTheory.Adjunction.unit_leftAdjointUniq_hom /- @[simp, reassoc.1] theorem unit_leftAdjointUniq_hom {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) : adj1.Unit ≫ whiskerRight (leftAdjointUniq adj1 adj2).Hom G = adj2.Unit := @@ -120,7 +147,14 @@ theorem unit_leftAdjointUniq_hom {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) rw [nat_trans.comp_app, ← hom_equiv_left_adjoint_uniq_hom_app adj1 adj2] simp [-hom_equiv_left_adjoint_uniq_hom_app, ← G.map_comp] #align category_theory.adjunction.unit_left_adjoint_uniq_hom CategoryTheory.Adjunction.unit_leftAdjointUniq_hom +-/ +/- warning: category_theory.adjunction.unit_left_adjoint_uniq_hom_app -> CategoryTheory.Adjunction.unit_leftAdjointUniq_hom_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : C), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x))) (CategoryTheory.CategoryStruct.comp.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) x) (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G) x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x)) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) (CategoryTheory.Functor.map.{u2, u1, u4, u3} D _inst_2 C _inst_1 G (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x))) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F' G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G adj2) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : C), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x))) (CategoryTheory.CategoryStruct.comp.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) x) (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G)) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x)) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) (Prefunctor.map.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x))) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F' G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G adj2) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.unit_left_adjoint_uniq_hom_app CategoryTheory.Adjunction.unit_leftAdjointUniq_hom_appₓ'. -/ @[simp, reassoc.1] theorem unit_leftAdjointUniq_hom_app {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) (x : C) : adj1.Unit.app x ≫ G.map ((leftAdjointUniq adj1 adj2).Hom.app x) = adj2.Unit.app x := @@ -129,6 +163,7 @@ theorem unit_leftAdjointUniq_hom_app {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F rfl #align category_theory.adjunction.unit_left_adjoint_uniq_hom_app CategoryTheory.Adjunction.unit_leftAdjointUniq_hom_app +#print CategoryTheory.Adjunction.leftAdjointUniq_hom_counit /- @[simp, reassoc.1] theorem leftAdjointUniq_hom_counit {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) : whiskerLeft G (leftAdjointUniq adj1 adj2).Hom ≫ adj2.counit = adj1.counit := @@ -147,7 +182,14 @@ theorem leftAdjointUniq_hom_counit {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ simpa simpa [left_adjoint_uniq, left_adjoints_coyoneda_equiv] using this #align category_theory.adjunction.left_adjoint_uniq_hom_counit CategoryTheory.Adjunction.leftAdjointUniq_hom_counit +-/ +/- warning: category_theory.adjunction.left_adjoint_uniq_hom_app_counit -> CategoryTheory.Adjunction.leftAdjointUniq_hom_app_counit is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : D), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) x)) (CategoryTheory.CategoryStruct.comp.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F') (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G adj2) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : D), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) x)) (CategoryTheory.CategoryStruct.comp.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F') (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G adj2) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.left_adjoint_uniq_hom_app_counit CategoryTheory.Adjunction.leftAdjointUniq_hom_app_counitₓ'. -/ @[simp, reassoc.1] theorem leftAdjointUniq_hom_app_counit {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) (x : D) : @@ -157,12 +199,19 @@ theorem leftAdjointUniq_hom_app_counit {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F rfl #align category_theory.adjunction.left_adjoint_uniq_hom_app_counit CategoryTheory.Adjunction.leftAdjointUniq_hom_app_counit +/- warning: category_theory.adjunction.left_adjoint_uniq_inv_app -> CategoryTheory.Adjunction.leftAdjointUniq_inv_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : C), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F (CategoryTheory.Iso.inv.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F' F (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F G adj2 adj1)) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (x : C), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F (CategoryTheory.Iso.inv.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F' F (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F G adj2 adj1)) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.left_adjoint_uniq_inv_app CategoryTheory.Adjunction.leftAdjointUniq_inv_appₓ'. -/ @[simp] theorem leftAdjointUniq_inv_app {F F' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) (x : C) : (leftAdjointUniq adj1 adj2).inv.app x = (leftAdjointUniq adj2 adj1).Hom.app x := rfl #align category_theory.adjunction.left_adjoint_uniq_inv_app CategoryTheory.Adjunction.leftAdjointUniq_inv_app +#print CategoryTheory.Adjunction.leftAdjointUniq_trans /- @[simp, reassoc.1] theorem leftAdjointUniq_trans {F F' F'' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) (adj3 : F'' ⊣ G) : @@ -176,7 +225,14 @@ theorem leftAdjointUniq_trans {F F' F'' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G ext simp [left_adjoints_coyoneda_equiv, left_adjoint_uniq] #align category_theory.adjunction.left_adjoint_uniq_trans CategoryTheory.Adjunction.leftAdjointUniq_trans +-/ +/- warning: category_theory.adjunction.left_adjoint_uniq_trans_app -> CategoryTheory.Adjunction.leftAdjointUniq_trans_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F'' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (adj3 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F'' G) (x : C), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F'' x)) (CategoryTheory.CategoryStruct.comp.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' x) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F'' x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F'' (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F' F'' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F'' G adj2 adj3)) x)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F'' (CategoryTheory.Iso.hom.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F'' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F'' G adj1 adj3)) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {F'' : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' G) (adj3 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F'' G) (x : C), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F'') x)) (CategoryTheory.CategoryStruct.comp.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F') x) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F'') x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F' G adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F'' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F' F'' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F' F'' G adj2 adj3)) x)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F'' (CategoryTheory.Iso.hom.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) F F'' (CategoryTheory.Adjunction.leftAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F F'' G adj1 adj3)) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.left_adjoint_uniq_trans_app CategoryTheory.Adjunction.leftAdjointUniq_trans_appₓ'. -/ @[simp, reassoc.1] theorem leftAdjointUniq_trans_app {F F' F'' : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) (adj3 : F'' ⊣ G) (x : C) : @@ -187,6 +243,7 @@ theorem leftAdjointUniq_trans_app {F F' F'' : C ⥤ D} {G : D ⥤ C} (adj1 : F rfl #align category_theory.adjunction.left_adjoint_uniq_trans_app CategoryTheory.Adjunction.leftAdjointUniq_trans_app +#print CategoryTheory.Adjunction.leftAdjointUniq_refl /- @[simp] theorem leftAdjointUniq_refl {F : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) : (leftAdjointUniq adj1 adj1).Hom = 𝟙 _ := by @@ -197,12 +254,21 @@ theorem leftAdjointUniq_refl {F : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) : ext simp [left_adjoints_coyoneda_equiv, left_adjoint_uniq] #align category_theory.adjunction.left_adjoint_uniq_refl CategoryTheory.Adjunction.leftAdjointUniq_refl +-/ +#print CategoryTheory.Adjunction.rightAdjointUniq /- /-- If `G` and `G'` are both right adjoint to `F`, then they are naturally isomorphic. -/ def rightAdjointUniq {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') : G ≅ G' := NatIso.removeOp (leftAdjointUniq (opAdjointOpOfAdjoint _ F adj2) (opAdjointOpOfAdjoint _ _ adj1)) #align category_theory.adjunction.right_adjoint_uniq CategoryTheory.Adjunction.rightAdjointUniq +-/ +/- warning: category_theory.adjunction.hom_equiv_symm_right_adjoint_uniq_hom_app -> CategoryTheory.Adjunction.homEquiv_symm_rightAdjointUniq_hom_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : D), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) x) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x)) (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) x)) (fun (_x : Equiv.{succ u1, succ u2} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x)) (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) x)) => (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x)) -> (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) x)) (Equiv.hasCoeToFun.{succ u1, succ u2} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x)) (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) x)) (Equiv.symm.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) x) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x)) (CategoryTheory.Adjunction.homEquiv.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' adj2 (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) x)) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : D), Eq.{succ u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) => Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) x)) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) (fun (_x : Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) => Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) x) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) x)) (Equiv.symm.{succ u2, succ u1} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) x) (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) (CategoryTheory.Adjunction.homEquiv.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' adj2 (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) x)) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.hom_equiv_symm_right_adjoint_uniq_hom_app CategoryTheory.Adjunction.homEquiv_symm_rightAdjointUniq_hom_appₓ'. -/ @[simp] theorem homEquiv_symm_rightAdjointUniq_hom_app {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') (x : D) : @@ -214,6 +280,12 @@ theorem homEquiv_symm_rightAdjointUniq_hom_app {F : C ⥤ D} {G G' : D ⥤ C} (a simpa #align category_theory.adjunction.hom_equiv_symm_right_adjoint_uniq_hom_app CategoryTheory.Adjunction.homEquiv_symm_rightAdjointUniq_hom_app +/- warning: category_theory.adjunction.unit_right_adjoint_uniq_hom_app -> CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : C), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x))) (CategoryTheory.CategoryStruct.comp.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) x) (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G) x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x)) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F x))) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G') (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' adj2) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : C), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x))) (CategoryTheory.CategoryStruct.comp.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) x) (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G)) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x)) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G) (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) x))) (CategoryTheory.NatTrans.app.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.comp.{u1, u2, u1, u3, u4, u3} C _inst_1 D _inst_2 C _inst_1 F G') (CategoryTheory.Adjunction.unit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' adj2) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.unit_right_adjoint_uniq_hom_app CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_appₓ'. -/ @[simp, reassoc.1] theorem unit_rightAdjointUniq_hom_app {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') (x : C) : adj1.Unit.app x ≫ (rightAdjointUniq adj1 adj2).Hom.app (F.obj x) = adj2.Unit.app x := @@ -224,6 +296,7 @@ theorem unit_rightAdjointUniq_hom_app {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F all_goals simpa #align category_theory.adjunction.unit_right_adjoint_uniq_hom_app CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_app +#print CategoryTheory.Adjunction.unit_rightAdjointUniq_hom /- @[simp, reassoc.1] theorem unit_rightAdjointUniq_hom {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') : adj1.Unit ≫ whiskerLeft F (rightAdjointUniq adj1 adj2).Hom = adj2.Unit := @@ -231,7 +304,14 @@ theorem unit_rightAdjointUniq_hom {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G ext x simp #align category_theory.adjunction.unit_right_adjoint_uniq_hom CategoryTheory.Adjunction.unit_rightAdjointUniq_hom +-/ +/- warning: category_theory.adjunction.right_adjoint_uniq_hom_app_counit -> CategoryTheory.Adjunction.rightAdjointUniq_hom_app_counit is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : D), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) x)) (CategoryTheory.CategoryStruct.comp.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x)) (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) x) (CategoryTheory.Functor.map.{u1, u2, u3, u4} C _inst_1 D _inst_2 F (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G' F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' adj2) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : D), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) x)) (CategoryTheory.CategoryStruct.comp.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x)) (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) x) (Prefunctor.map.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 F) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G' F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' adj2) x)) (CategoryTheory.NatTrans.app.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.comp.{u2, u1, u2, u4, u3, u4} D _inst_2 C _inst_1 D _inst_2 G F) (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Adjunction.counit.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G adj1) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.right_adjoint_uniq_hom_app_counit CategoryTheory.Adjunction.rightAdjointUniq_hom_app_counitₓ'. -/ @[simp, reassoc.1] theorem rightAdjointUniq_hom_app_counit {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') (x : D) : @@ -243,6 +323,7 @@ theorem rightAdjointUniq_hom_app_counit {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F all_goals simpa #align category_theory.adjunction.right_adjoint_uniq_hom_app_counit CategoryTheory.Adjunction.rightAdjointUniq_hom_app_counit +#print CategoryTheory.Adjunction.rightAdjointUniq_hom_counit /- @[simp, reassoc.1] theorem rightAdjointUniq_hom_counit {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') : whiskerRight (rightAdjointUniq adj1 adj2).Hom F ≫ adj2.counit = adj1.counit := @@ -250,13 +331,26 @@ theorem rightAdjointUniq_hom_counit {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ ext simp #align category_theory.adjunction.right_adjoint_uniq_hom_counit CategoryTheory.Adjunction.rightAdjointUniq_hom_counit +-/ +/- warning: category_theory.adjunction.right_adjoint_uniq_inv_app -> CategoryTheory.Adjunction.rightAdjointUniq_inv_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : D), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x)) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' G (CategoryTheory.Iso.inv.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' G (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G' G (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' G adj2 adj1)) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (x : D), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x)) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' G (CategoryTheory.Iso.inv.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' G (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G' G (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' G adj2 adj1)) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.right_adjoint_uniq_inv_app CategoryTheory.Adjunction.rightAdjointUniq_inv_appₓ'. -/ @[simp] theorem rightAdjointUniq_inv_app {F : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') (x : D) : (rightAdjointUniq adj1 adj2).inv.app x = (rightAdjointUniq adj2 adj1).Hom.app x := rfl #align category_theory.adjunction.right_adjoint_uniq_inv_app CategoryTheory.Adjunction.rightAdjointUniq_inv_app +/- warning: category_theory.adjunction.right_adjoint_uniq_trans_app -> CategoryTheory.Adjunction.rightAdjointUniq_trans_app is a dubious translation: +lean 3 declaration is + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G'' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (adj3 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G'') (x : D), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G'' x)) (CategoryTheory.CategoryStruct.comp.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' x) (CategoryTheory.Functor.obj.{u2, u1, u4, u3} D _inst_2 C _inst_1 G'' x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' G'' (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G' G'' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' G'' adj2 adj3)) x)) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G'' (CategoryTheory.Iso.hom.{max u4 u1, max u2 u1 u4 u3} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G'' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G'' adj1 adj3)) x) +but is expected to have type + forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} {G'' : CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1} (adj1 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G) (adj2 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G') (adj3 : CategoryTheory.Adjunction.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G'') (x : D), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G'') x)) (CategoryTheory.CategoryStruct.comp.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G) x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G') x) (Prefunctor.obj.{succ u2, succ u1, u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u1, u4, u3} D _inst_2 C _inst_1 G'') x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G' adj1 adj2)) x) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G' G'' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G' G'' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G' G'' adj2 adj3)) x)) (CategoryTheory.NatTrans.app.{u2, u1, u4, u3} D _inst_2 C _inst_1 G G'' (CategoryTheory.Iso.hom.{max u4 u1, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} D _inst_2 C _inst_1) (CategoryTheory.Functor.category.{u2, u1, u4, u3} D _inst_2 C _inst_1) G G'' (CategoryTheory.Adjunction.rightAdjointUniq.{u1, u2, u3, u4} C _inst_1 D _inst_2 F G G'' adj1 adj3)) x) +Case conversion may be inaccurate. Consider using '#align category_theory.adjunction.right_adjoint_uniq_trans_app CategoryTheory.Adjunction.rightAdjointUniq_trans_appₓ'. -/ @[simp, reassoc.1] theorem rightAdjointUniq_trans_app {F : C ⥤ D} {G G' G'' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') (adj3 : F ⊣ G'') (x : D) : @@ -269,6 +363,7 @@ theorem rightAdjointUniq_trans_app {F : C ⥤ D} {G G' G'' : D ⥤ C} (adj1 : F (op_adjoint_op_of_adjoint _ _ adj2) (op_adjoint_op_of_adjoint _ _ adj1) (Opposite.op x) #align category_theory.adjunction.right_adjoint_uniq_trans_app CategoryTheory.Adjunction.rightAdjointUniq_trans_app +#print CategoryTheory.Adjunction.rightAdjointUniq_trans /- @[simp, reassoc.1] theorem rightAdjointUniq_trans {F : C ⥤ D} {G G' G'' : D ⥤ C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') (adj3 : F ⊣ G'') : @@ -278,7 +373,9 @@ theorem rightAdjointUniq_trans {F : C ⥤ D} {G G' G'' : D ⥤ C} (adj1 : F ⊣ ext simp #align category_theory.adjunction.right_adjoint_uniq_trans CategoryTheory.Adjunction.rightAdjointUniq_trans +-/ +#print CategoryTheory.Adjunction.rightAdjointUniq_refl /- @[simp] theorem rightAdjointUniq_refl {F : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) : (rightAdjointUniq adj1 adj1).Hom = 𝟙 _ := @@ -286,7 +383,9 @@ theorem rightAdjointUniq_refl {F : C ⥤ D} {G : D ⥤ C} (adj1 : F ⊣ G) : delta right_adjoint_uniq simp #align category_theory.adjunction.right_adjoint_uniq_refl CategoryTheory.Adjunction.rightAdjointUniq_refl +-/ +#print CategoryTheory.Adjunction.natIsoOfLeftAdjointNatIso /- /-- Given two adjunctions, if the left adjoints are naturally isomorphic, then so are the right adjoints. -/ @@ -294,7 +393,9 @@ def natIsoOfLeftAdjointNatIso {F F' : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G) (l : F ≅ F') : G ≅ G' := rightAdjointUniq adj1 (adj2.ofNatIsoLeft l.symm) #align category_theory.adjunction.nat_iso_of_left_adjoint_nat_iso CategoryTheory.Adjunction.natIsoOfLeftAdjointNatIso +-/ +#print CategoryTheory.Adjunction.natIsoOfRightAdjointNatIso /- /-- Given two adjunctions, if the right adjoints are naturally isomorphic, then so are the left adjoints. -/ @@ -302,6 +403,7 @@ def natIsoOfRightAdjointNatIso {F F' : C ⥤ D} {G G' : D ⥤ C} (adj1 : F ⊣ G (r : G ≅ G') : F ≅ F' := leftAdjointUniq adj1 (adj2.ofNatIsoRight r.symm) #align category_theory.adjunction.nat_iso_of_right_adjoint_nat_iso CategoryTheory.Adjunction.natIsoOfRightAdjointNatIso +-/ end CategoryTheory.Adjunction diff --git a/Mathbin/CategoryTheory/Linear/Basic.lean b/Mathbin/CategoryTheory/Linear/Basic.lean index 53babc6af3..f2c98de047 100644 --- a/Mathbin/CategoryTheory/Linear/Basic.lean +++ b/Mathbin/CategoryTheory/Linear/Basic.lean @@ -182,6 +182,7 @@ instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩ +#print CategoryTheory.Linear.homCongr /- /-- Given isomorphic objects `X ≅ Y, W ≅ Z` in a `k`-linear category, we have a `k`-linear isomorphism between `Hom(X, W)` and `Hom(Y, Z).` -/ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C] @@ -200,13 +201,26 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] left_comp_apply, LinearMap.toFun_eq_coe, iso.inv_hom_id_assoc, category.assoc, iso.inv_hom_id, category.comp_id] } #align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr +-/ +/- warning: category_theory.linear.hom_congr_apply -> CategoryTheory.Linear.homCongr_apply is a dubious translation: +lean 3 declaration is + forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 W Z f₂)) +but is expected to have type + forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 W Z f₂)) +Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_applyₓ'. -/ theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) : homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom := rfl #align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply +/- warning: category_theory.linear.hom_congr_symm_apply -> CategoryTheory.Linear.homCongr_symm_apply is a dubious translation: +lean 3 declaration is + forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (LinearEquiv.symm.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 W Z f₂))) +but is expected to have type + forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (LinearEquiv.symm.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 W Z f₂))) +Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_applyₓ'. -/ theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) : (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv := diff --git a/Mathbin/LinearAlgebra/Finsupp.lean b/Mathbin/LinearAlgebra/Finsupp.lean index c74820d61d..cda66fc15c 100644 --- a/Mathbin/LinearAlgebra/Finsupp.lean +++ b/Mathbin/LinearAlgebra/Finsupp.lean @@ -670,7 +670,7 @@ noncomputable def lift : (X → M) ≃+ ((X →₀ R) →ₗ[R] M) := lean 3 declaration is forall (M : Type.{u1}) (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u3}) (f : LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (x : X), Eq.{succ u1} M (coeFn.{max (succ (max (max u3 u2) u1)) (succ (max u3 u1)), max (succ (max (max u3 u2) u1)) (succ (max u3 u1))} (AddEquiv.{max (max u3 u2) u1, max u3 u1} (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (X -> M) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (fun (_x : AddEquiv.{max (max u3 u2) u1, max u3 u1} (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (X -> M) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) => (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) -> X -> M) (AddEquiv.hasCoeToFun.{max (max u3 u2) u1, max u3 u1} (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (X -> M) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (AddEquiv.symm.{max u3 u1, max (max u3 u2) u1} (X -> M) (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.lift.{u1, u2, u3} M R _inst_1 _inst_3 _inst_4 X)) f x) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ (max u3 u2)) (succ u1)} (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (fun (_x : LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) => (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (Finsupp.single.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) x (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))))) but is expected to have type - forall (M : Type.{u1}) (R : Type.{u3}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] (X : Type.{u2}) (f : LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (x : X), Eq.{succ u1} M (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u2)} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (fun (_x : LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) => X -> M) _x) (AddHomClass.toFunLike.{max (max u1 u3) u2, max (max u1 u3) u2, max u1 u2} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (AddZeroClass.toAdd.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddMonoid.toAddZeroClass.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (AddZeroClass.toAdd.{max u1 u2} (X -> M) (Pi.addZeroClass.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (AddMonoidHomClass.toAddHomClass.{max (max u1 u3) u2, max (max u1 u3) u2, max u1 u2} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (AddMonoid.toAddZeroClass.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Pi.addZeroClass.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddEquivClass.instAddMonoidHomClass.{max (max u1 u3) u2, max (max u1 u3) u2, max u1 u2} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (AddMonoid.toAddZeroClass.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Pi.addZeroClass.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddEquiv.instAddEquivClassAddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (AddEquiv.symm.{max u1 u2, max (max u1 u3) u2} (X -> M) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (Pi.instAdd.{u2, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lift.{u1, u3, u2} M R _inst_1 _inst_3 _inst_4 X)) f x) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f (Finsupp.single.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) x (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) + forall (M : Type.{u1}) (R : Type.{u3}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] (X : Type.{u2}) (f : LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (x : X), Eq.{succ u1} M (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u2)} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (fun (_x : LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) => X -> M) _x) (AddHomClass.toFunLike.{max (max u1 u3) u2, max (max u1 u3) u2, max u1 u2} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (AddZeroClass.toAdd.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddMonoid.toAddZeroClass.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (AddZeroClass.toAdd.{max u1 u2} (X -> M) (Pi.addZeroClass.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (AddMonoidHomClass.toAddHomClass.{max (max u1 u3) u2, max (max u1 u3) u2, max u1 u2} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (AddMonoid.toAddZeroClass.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Pi.addZeroClass.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddEquivClass.instAddMonoidHomClass.{max (max u1 u3) u2, max (max u1 u3) u2, max u1 u2} (AddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (AddMonoid.toAddZeroClass.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Pi.addZeroClass.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddEquiv.instAddEquivClassAddEquiv.{max (max u1 u3) u2, max u1 u2} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (X -> M) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.instAdd.{u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (AddEquiv.symm.{max u1 u2, max (max u1 u3) u2} (X -> M) (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (Pi.instAdd.{u2, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lift.{u1, u3, u2} M R _inst_1 _inst_3 _inst_4 X)) f x) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4) (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u2, u1} R R (Finsupp.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f (Finsupp.single.{u2, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) x (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) Case conversion may be inaccurate. Consider using '#align finsupp.lift_symm_apply Finsupp.lift_symm_applyₓ'. -/ @[simp] theorem lift_symm_apply (f) (x) : ((lift M R X).symm f) x = f (single x 1) := @@ -681,13 +681,19 @@ theorem lift_symm_apply (f) (x) : ((lift M R X).symm f) x = f (single x 1) := lean 3 declaration is forall (M : Type.{u1}) (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u3}) (f : X -> M) (g : Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u1} M (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ (max u3 u2)) (succ u1)} (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (fun (_x : LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) => (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (coeFn.{max (succ (max u3 u1)) (succ (max (max u3 u2) u1)), max (succ (max u3 u1)) (succ (max (max u3 u2) u1))} (AddEquiv.{max u3 u1, max (max u3 u2) u1} (X -> M) (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (fun (_x : AddEquiv.{max u3 u1, max (max u3 u2) u1} (X -> M) (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) => (X -> M) -> (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4)) (AddEquiv.hasCoeToFun.{max u3 u1, max (max u3 u2) u1} (X -> M) (LinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.lift.{u1, u2, u3} M R _inst_1 _inst_3 _inst_4 X) f) g) (Finsupp.sum.{u3, u2, u1} X R M (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 g (fun (x : X) (r : R) => SMul.smul.{u2, u1} R M (SMulZeroClass.toHasSmul.{u2, u1} R M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u1} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) r (f x))) but is expected to have type - forall (M : Type.{u1}) (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u3}) (f : X -> M) (g : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : X -> M) => LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) f) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (fun (_x : X -> M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : X -> M) => LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) _x) (AddHomClass.toFunLike.{max (max u1 u2) u3, max u1 u3, max (max u1 u2) u3} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddZeroClass.toAdd.{max u1 u3} (X -> M) (Pi.addZeroClass.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (AddZeroClass.toAdd.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (AddMonoidHomClass.toAddHomClass.{max (max u1 u2) u3, max u1 u3, max (max u1 u2) u3} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addZeroClass.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddEquivClass.instAddMonoidHomClass.{max (max u1 u2) u3, max u1 u3, max (max u1 u2) u3} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addZeroClass.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddEquiv.instAddEquivClassAddEquiv.{max u1 u3, max (max u1 u2) u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4991 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Finsupp.lift.{u1, u2, u3} M R _inst_1 _inst_3 _inst_4 X) f) g) (Finsupp.sum.{u3, u2, u1} X R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) _inst_3 g (fun (x : X) (r : R) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4))))) r (f x))) + forall (M : Type.{u1}) (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u3}) (f : X -> M) (g : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : X -> M) => LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) f) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (fun (_x : X -> M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : X -> M) => LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) _x) (AddHomClass.toFunLike.{max (max u1 u2) u3, max u1 u3, max (max u1 u2) u3} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddZeroClass.toAdd.{max u1 u3} (X -> M) (Pi.addZeroClass.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (AddZeroClass.toAdd.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (AddMonoidHomClass.toAddHomClass.{max (max u1 u2) u3, max u1 u3, max (max u1 u2) u3} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addZeroClass.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddEquivClass.instAddMonoidHomClass.{max (max u1 u2) u3, max u1 u3, max (max u1 u2) u3} (AddEquiv.{max u1 u3, max u1 u2 u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addZeroClass.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddEquiv.instAddEquivClassAddEquiv.{max u1 u3, max (max u1 u2) u3} (X -> M) (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u3, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.instAddLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Finsupp.lift.{u1, u2, u3} M R _inst_1 _inst_3 _inst_4 X) f) g) (Finsupp.sum.{u3, u2, u1} X R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) _inst_3 g (fun (x : X) (r : R) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4))))) r (f x))) Case conversion may be inaccurate. Consider using '#align finsupp.lift_apply Finsupp.lift_applyₓ'. -/ @[simp] theorem lift_apply (f) (g) : ((lift M R X) f) g = g.Sum fun x r => r • f x := rfl #align finsupp.lift_apply Finsupp.lift_apply +/- warning: finsupp.llift -> Finsupp.llift is a dubious translation: +lean 3 declaration is + forall (M : Type.{u1}) (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u4}) [_inst_9 : Module.{u3, u1} S M _inst_2 _inst_3] [_inst_10 : SMulCommClass.{u2, u3, u1} R S M (SMulZeroClass.toHasSmul.{u2, u1} R M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u1} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u3, u1} S M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u1} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} S M (Semiring.toMonoidWithZero.{u3} S _inst_2) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u3, u1} S M _inst_2 _inst_3 _inst_9))))], LinearEquiv.{u3, u3, max u4 u1, max (max u4 u2) u1} S S _inst_2 _inst_2 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) +but is expected to have type + forall (M : Type.{u1}) (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u4}) [_inst_9 : Module.{u3, u1} S M _inst_2 _inst_3] [_inst_10 : SMulCommClass.{u2, u3, u1} R S M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} S M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} S M (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} S M (Semiring.toMonoidWithZero.{u3} S _inst_2) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} S M _inst_2 _inst_3 _inst_9))))], LinearEquiv.{u3, u3, max u1 u4, max u1 u2 u4} S S _inst_2 _inst_2 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (X -> M) (LinearMap.{u2, u2, max u2 u4, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u2 u4, u1} R R (Finsupp.{u4, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.module.{u4, u1, u3} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u3, max u2 u4, u1} R R S (Finsupp.{u4, u2} X R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) +Case conversion may be inaccurate. Consider using '#align finsupp.llift Finsupp.lliftₓ'. -/ /-- Given compatible `S` and `R`-module structures on `M` and a type `X`, the set of functions `X → M` is `S`-linearly equivalent to the `R`-linear maps from the free `R`-module on `X` to `M`. -/ @@ -701,11 +707,23 @@ noncomputable def llift : (X → M) ≃ₗ[S] (X →₀ R) →ₗ[R] M := sum_single_index, zero_smul, one_smul, LinearMap.smul_apply] } #align finsupp.llift Finsupp.llift +/- warning: finsupp.llift_apply -> Finsupp.llift_apply is a dubious translation: +lean 3 declaration is + forall (M : Type.{u1}) (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u4}) [_inst_9 : Module.{u3, u1} S M _inst_2 _inst_3] [_inst_10 : SMulCommClass.{u2, u3, u1} R S M (SMulZeroClass.toHasSmul.{u2, u1} R M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u1} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u3, u1} S M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u1} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} S M (Semiring.toMonoidWithZero.{u3} S _inst_2) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u3, u1} S M _inst_2 _inst_3 _inst_9))))] (f : X -> M) (x : Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u1} M (coeFn.{max (succ (max u4 u2)) (succ u1), max (succ (max u4 u2)) (succ u1)} (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (fun (_x : LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) => (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (coeFn.{max (succ (max u4 u1)) (succ (max (max u4 u2) u1)), max (succ (max u4 u1)) (succ (max (max u4 u2) u1))} (LinearEquiv.{u3, u3, max u4 u1, max (max u4 u2) u1} S S _inst_2 _inst_2 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10)) (fun (_x : LinearEquiv.{u3, u3, max u4 u1, max (max u4 u2) u1} S S _inst_2 _inst_2 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10)) => (X -> M) -> (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4)) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u1, max (max u4 u2) u1} S S (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2)) (Finsupp.llift.{u1, u2, u3, u4} M R S _inst_1 _inst_2 _inst_3 _inst_4 X _inst_9 _inst_10) f) x) (coeFn.{max (succ (max u4 u2)) (succ u1), max (succ (max u4 u2)) (succ u1)} (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (fun (_x : LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) => (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (coeFn.{max (succ (max u4 u1)) (succ (max (max u4 u2) u1)), max (succ (max u4 u1)) (succ (max (max u4 u2) u1))} (AddEquiv.{max u4 u1, max (max u4 u2) u1} (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (fun (_x : AddEquiv.{max u4 u1, max (max u4 u2) u1} (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) => (X -> M) -> (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4)) (AddEquiv.hasCoeToFun.{max u4 u1, max (max u4 u2) u1} (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (Pi.instAdd.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (LinearMap.hasAdd.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.lift.{u1, u2, u4} M R _inst_1 _inst_3 _inst_4 X) f) x) +but is expected to have type + forall (M : Type.{u2}) (R : Type.{u3}) (S : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] (X : Type.{u4}) [_inst_9 : Module.{u1, u2} S M _inst_2 _inst_3] [_inst_10 : SMulCommClass.{u3, u1, u2} R S M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u2} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u2} S M (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u1, u2} S M _inst_2 _inst_3 _inst_9))))] (f : X -> M) (x : Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) x) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u3) (succ u4), succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : X -> M) => LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) f) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), max (max (succ u2) (succ u3)) (succ u4)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3 u4} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10)) (X -> M) (fun (_x : X -> M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : X -> M) => LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u1, max u2 u4, max (max u2 u3) u4} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3 u4} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (SMulZeroClass.toSMul.{u1, max u2 u4} S (X -> M) (AddMonoid.toZero.{max u2 u4} (X -> M) (AddCommMonoid.toAddMonoid.{max u2 u4} (X -> M) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u4} S (X -> M) (AddMonoid.toAddZeroClass.{max u2 u4} (X -> M) (AddCommMonoid.toAddMonoid.{max u2 u4} (X -> M) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max u2 u4} S (X -> M) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u4} (X -> M) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3))) (Module.toDistribMulAction.{u1, max u2 u4} S (X -> M) _inst_2 (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)))))) (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} S (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddMonoid.toZero.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u2 u3) u4} S (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddMonoid.toAddZeroClass.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u2 u3) u4} S (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u2 u3) u4} S (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) _inst_2 (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u1, max u2 u4, max (max u2 u3) u4} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3 u4} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u4} (X -> M) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u4} S (X -> M) _inst_2 (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) (Module.toDistribMulAction.{u1, max (max u2 u3) u4} S (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) _inst_2 (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u4, max (max u2 u3) u4, max (max u2 u3) u4} S (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3 u4} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u4, max (max u2 u3) u4, max (max u2 u3) u4} S S (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3 u4} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u4, max (max u2 u3) u4} S S (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u4, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u3 u4, u2} R R S (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2)))))) (Finsupp.llift.{u2, u3, u1, u4} M R S _inst_1 _inst_2 _inst_3 _inst_4 X _inst_9 _inst_10) f) x) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u3) (succ u4), succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : X -> M) => LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) f) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), max (max (succ u2) (succ u3)) (succ u4)} (AddEquiv.{max u2 u4, max u2 u3 u4} (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.instAdd.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (X -> M) (fun (_x : X -> M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : X -> M) => LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) _x) (AddHomClass.toFunLike.{max (max u2 u3) u4, max u2 u4, max (max u2 u3) u4} (AddEquiv.{max u2 u4, max u2 u3 u4} (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.instAdd.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddZeroClass.toAdd.{max u2 u4} (X -> M) (Pi.addZeroClass.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddZeroClass.toAdd.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddMonoid.toAddZeroClass.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (AddMonoidHomClass.toAddHomClass.{max (max u2 u3) u4, max u2 u4, max (max u2 u3) u4} (AddEquiv.{max u2 u4, max u2 u3 u4} (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.instAdd.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addZeroClass.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (AddEquivClass.instAddMonoidHomClass.{max (max u2 u3) u4, max u2 u4, max (max u2 u3) u4} (AddEquiv.{max u2 u4, max u2 u3 u4} (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.instAdd.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.addZeroClass.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (LinearMap.addCommMonoid.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (AddEquiv.instAddEquivClassAddEquiv.{max u2 u4, max (max u2 u3) u4} (X -> M) (LinearMap.{u3, u3, max u3 u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4) (Pi.instAdd.{u4, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5047 : X) => M) (fun (i : X) => AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearMap.instAddLinearMap.{u3, u3, max u3 u4, u2} R R (Finsupp.{u4, u3} X R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u3, u3} X 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))))) (Finsupp.lift.{u2, u3, u4} M R _inst_1 _inst_3 _inst_4 X) f) x) +Case conversion may be inaccurate. Consider using '#align finsupp.llift_apply Finsupp.llift_applyₓ'. -/ @[simp] theorem llift_apply (f : X → M) (x : X →₀ R) : llift M R S X f x = lift M R X f x := rfl #align finsupp.llift_apply Finsupp.llift_apply +/- warning: finsupp.llift_symm_apply -> Finsupp.llift_symm_apply is a dubious translation: +lean 3 declaration is + forall (M : Type.{u1}) (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (X : Type.{u4}) [_inst_9 : Module.{u3, u1} S M _inst_2 _inst_3] [_inst_10 : SMulCommClass.{u2, u3, u1} R S M (SMulZeroClass.toHasSmul.{u2, u1} R M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u1} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u3, u1} S M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u1} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2)))) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} S M (Semiring.toMonoidWithZero.{u3} S _inst_2) (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Module.toMulActionWithZero.{u3, u1} S M _inst_2 _inst_3 _inst_9))))] (f : LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (x : X), Eq.{succ u1} M (coeFn.{max (succ (max (max u4 u2) u1)) (succ (max u4 u1)), max (succ (max (max u4 u2) u1)) (succ (max u4 u1))} (LinearEquiv.{u3, u3, max (max u4 u2) u1, max u4 u1} S S _inst_2 _inst_2 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9)) (fun (_x : LinearEquiv.{u3, u3, max (max u4 u2) u1, max u4 u1} S S _inst_2 _inst_2 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9)) => (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) -> X -> M) (LinearEquiv.hasCoeToFun.{u3, u3, max (max u4 u2) u1, max u4 u1} S S (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (X -> M) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2)) (LinearEquiv.symm.{u3, u3, max u4 u1, max (max u4 u2) u1} S S (X -> M) (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u1} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u4, u3, u1} X S M _inst_2 _inst_3 _inst_9) (LinearMap.module.{u2, u2, u3, max u4 u2, u1} R R S (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomInvPair.ids.{u3} S _inst_2) (RingHomInvPair.ids.{u3} S _inst_2) (Finsupp.llift.{u1, u2, u3, u4} M R S _inst_1 _inst_2 _inst_3 _inst_4 X _inst_9 _inst_10)) f x) (coeFn.{max (succ (max u4 u2)) (succ u1), max (succ (max u4 u2)) (succ u1)} (LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (fun (_x : LinearMap.{u2, u2, max u4 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) => (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, u2, u2} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (Finsupp.single.{u4, u2} X R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) x (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))))) +but is expected to have type + forall (M : Type.{u2}) (R : Type.{u4}) (S : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] (X : Type.{u3}) [_inst_9 : Module.{u1, u2} S M _inst_2 _inst_3] [_inst_10 : SMulCommClass.{u4, u1, u2} R S M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u2} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u2} S M (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u1, u2} S M _inst_2 _inst_3 _inst_9))))] (f : LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (x : X), Eq.{succ u2} M (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (fun (_x : LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) => X -> M) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u3, u1, max (max u2 u4) u3, max u2 u3} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (SMulZeroClass.toSMul.{u1, max (max u2 u4) u3} S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (AddMonoid.toZero.{max (max u2 u4) u3} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u2 u4) u3} S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (AddMonoid.toAddZeroClass.{max (max u2 u4) u3} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u2 u4) u3} S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) _inst_2 (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (SMulZeroClass.toSMul.{u1, max u2 u3} S (X -> M) (AddMonoid.toZero.{max u2 u3} (X -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (X -> M) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} S (X -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (X -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (X -> M) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} S (X -> M) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u3} (X -> M) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3))) (Module.toDistribMulAction.{u1, max u2 u3} S (X -> M) _inst_2 (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u3, u1, max (max u2 u4) u3, max u2 u3} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (X -> M) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) _inst_2 (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (Module.toDistribMulAction.{u1, max u2 u3} S (X -> M) _inst_2 (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u2 u4) u3, max u2 u3, max (max u2 u4) u3} S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) _inst_2 (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u2 u4) u3, max u2 u3, max (max u2 u4) u3} S S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9))) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u3} S S (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (X -> M) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u3, u2} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) (fun (i : X) => _inst_3)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max (max u2 u4) u3} S S (X -> M) (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} X (fun (ᾰ : X) => M) (fun (i : X) => _inst_3)) (LinearMap.addCommMonoid.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.module.{u3, u2, u1} X (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.5301 : X) => M) S _inst_2 (fun (i : X) => _inst_3) (fun (i : X) => _inst_9)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u1, max u4 u3, u2} R R S (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomInvPair.ids.{u1} S _inst_2) (RingHomInvPair.ids.{u1} S _inst_2) (Finsupp.llift.{u2, u4, u1, u3} M R S _inst_1 _inst_2 _inst_3 _inst_4 X _inst_9 _inst_10)) f x) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), succ u2} (LinearMap.{u4, u4, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4) (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (_x : Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u3, u2} R R (Finsupp.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} X R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} X R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) _inst_4 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) f (Finsupp.single.{u3, u4} X R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) x (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R _inst_1))))) +Case conversion may be inaccurate. Consider using '#align finsupp.llift_symm_apply Finsupp.llift_symm_applyₓ'. -/ @[simp] theorem llift_symm_apply (f : (X →₀ R) →ₗ[R] M) (x : X) : (llift M R S X).symm f x = f (single x 1) := @@ -922,7 +940,7 @@ theorem total_single (c : R) (a : α) : Finsupp.total α M R v (single a c) = c lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} (R : Type.{u3}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] (x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4) => (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.total.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (OfNat.ofNat.{max u1 u2} (α -> M) 0 (OfNat.mk.{max u1 u2} (α -> M) 0 (Zero.zero.{max u1 u2} (α -> M) (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))) x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))) but is expected to have type - forall {α : Type.{u3}} {M : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (x : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4 (OfNat.ofNat.{max u3 u1} (α -> M) 0 (Zero.toOfNat0.{max u3 u1} (α -> M) (Pi.instZero.{u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.6553 : α) => M) (fun (i : α) => AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) _inst_3)))) + forall {α : Type.{u3}} {M : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (x : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4 (OfNat.ofNat.{max u3 u1} (α -> M) 0 (Zero.toOfNat0.{max u3 u1} (α -> M) (Pi.instZero.{u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.6886 : α) => M) (fun (i : α) => AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) x) _inst_3)))) Case conversion may be inaccurate. Consider using '#align finsupp.total_zero_apply Finsupp.total_zero_applyₓ'. -/ theorem total_zero_apply (x : α →₀ R) : (Finsupp.total α M R 0) x = 0 := by simp [Finsupp.total_apply] @@ -934,7 +952,7 @@ variable (α M) lean 3 declaration is forall (α : Type.{u1}) (M : Type.{u2}) (R : Type.{u3}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3], Eq.{max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4) (Finsupp.total.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (OfNat.ofNat.{max u1 u2} (α -> M) 0 (OfNat.mk.{max u1 u2} (α -> M) 0 (Zero.zero.{max u1 u2} (α -> M) (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))) (OfNat.ofNat.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4) 0 (OfNat.mk.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4) 0 (Zero.zero.{max (max u1 u3) u2} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4) (LinearMap.hasZero.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} α 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_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) but is expected to have type - forall (α : Type.{u3}) (M : Type.{u2}) (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (OfNat.ofNat.{max u3 u2} (α -> M) 0 (Zero.toOfNat0.{max u3 u2} (α -> M) (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.6553 : α) => M) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))) (OfNat.ofNat.{max (max u3 u2) u1} (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) 0 (Zero.toOfNat0.{max (max u3 u2) u1} (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, max u3 u1, u2} R R (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) + forall (α : Type.{u3}) (M : Type.{u2}) (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (OfNat.ofNat.{max u3 u2} (α -> M) 0 (Zero.toOfNat0.{max u3 u2} (α -> M) (Pi.instZero.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.6886 : α) => M) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))) (OfNat.ofNat.{max (max u3 u2) u1} (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) 0 (Zero.toOfNat0.{max (max u3 u2) u1} (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, max u3 u1, u2} R R (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, 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)) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) Case conversion may be inaccurate. Consider using '#align finsupp.total_zero Finsupp.total_zeroₓ'. -/ @[simp] theorem total_zero : Finsupp.total α M R 0 = 0 := @@ -1773,7 +1791,7 @@ variable {S} lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} (R : Type.{u3}) [_inst_1 : Fintype.{u1} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_2 _inst_3] {S : Type.{u4}} [_inst_5 : Semiring.{u4} S] [_inst_6 : Module.{u4, u2} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u4, u2} R S M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u4, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u4, u2} S M (MulZeroClass.toHasZero.{u4} S (MulZeroOneClass.toMulZeroClass.{u4} S (MonoidWithZero.toMulZeroOneClass.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_5)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} S M (Semiring.toMonoidWithZero.{u4} S _inst_5) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u4, u2} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (f : α -> R), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) => (α -> R) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (coeFn.{max (succ (max u1 u2)) (succ (max (max u1 u3) u2)), max (succ (max u1 u2)) (succ (max (max u1 u3) u2))} (LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) => (α -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4)) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, max (max u1 u3) u2} S S (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5))) (Fintype.total.{u1, u2, u3, u4} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) f) (Finset.sum.{u2, u1} M α _inst_3 (Finset.univ.{u1} α _inst_1) (fun (i : α) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) (f i) (v i))) but is expected to have type - forall {α : Type.{u3}} {M : Type.{u4}} (R : Type.{u2}) [_inst_1 : Fintype.{u3} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_2 _inst_3] {S : Type.{u1}} [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u4} R S M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (f : α -> R), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) f) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) v) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearMap.{u1, u1, max u3 u4, max u4 u3 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u3, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max (max u2 u4) u3} S S (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u3, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u3, u4, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) f) (Finset.sum.{u4, u3} M α _inst_3 (Finset.univ.{u3} α _inst_1) (fun (i : α) => HSMul.hSMul.{u2, u4, u4} R M M (instHSMul.{u2, u4} R M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4))))) (f i) (v i))) + forall {α : Type.{u3}} {M : Type.{u4}} (R : Type.{u2}) [_inst_1 : Fintype.{u3} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_2 _inst_3] {S : Type.{u1}} [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u4} R S M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (f : α -> R), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) f) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) v) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearMap.{u1, u1, max u3 u4, max u4 u3 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u3, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max (max u2 u4) u3} S S (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u3, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u3, u4, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) f) (Finset.sum.{u4, u3} M α _inst_3 (Finset.univ.{u3} α _inst_1) (fun (i : α) => HSMul.hSMul.{u2, u4, u4} R M M (instHSMul.{u2, u4} R M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4))))) (f i) (v i))) Case conversion may be inaccurate. Consider using '#align fintype.total_apply Fintype.total_applyₓ'. -/ theorem Fintype.total_apply (f) : Fintype.total R S v f = ∑ i, f i • v i := rfl @@ -1783,7 +1801,7 @@ theorem Fintype.total_apply (f) : Fintype.total R S v f = ∑ i, f i • v i := lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} (R : Type.{u3}) [_inst_1 : Fintype.{u1} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_2 _inst_3] {S : Type.{u4}} [_inst_5 : Semiring.{u4} S] [_inst_6 : Module.{u4, u2} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u4, u2} R S M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u4, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u4, u2} S M (MulZeroClass.toHasZero.{u4} S (MulZeroOneClass.toMulZeroClass.{u4} S (MonoidWithZero.toMulZeroOneClass.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_5)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} S M (Semiring.toMonoidWithZero.{u4} S _inst_5) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u4, u2} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (i : α) (r : R), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) => (α -> R) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (coeFn.{max (succ (max u1 u2)) (succ (max (max u1 u3) u2)), max (succ (max u1 u2)) (succ (max (max u1 u3) u2))} (LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) => (α -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4)) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, max (max u1 u3) u2} S S (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5))) (Fintype.total.{u1, u2, u3, u4} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) (Pi.single.{u1, u3} α (fun (ᾰ : α) => R) (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (fun (i : α) => MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) i r)) (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) r (v i)) but is expected to have type - forall {α : Type.{u3}} {M : Type.{u4}} (R : Type.{u2}) [_inst_1 : Fintype.{u3} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_2 _inst_3] {S : Type.{u1}} [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u4} R S M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (i : α) (r : R), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) (Pi.single.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u3} α a b)) (fun (i : α) => MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) i r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) v) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearMap.{u1, u1, max u3 u4, max u4 u3 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u3, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max (max u2 u4) u3} S S (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u3, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u3, u4, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) (Pi.single.{u3, u2} α (fun (ᾰ : α) => R) (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u3} α a b)) (fun (i : α) => MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) i r)) (HSMul.hSMul.{u2, u4, u4} R M M (instHSMul.{u2, u4} R M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4))))) r (v i)) + forall {α : Type.{u3}} {M : Type.{u4}} (R : Type.{u2}) [_inst_1 : Fintype.{u3} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_2 _inst_3] {S : Type.{u1}} [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u4} R S M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (i : α) (r : R), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) (Pi.single.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u3} α a b)) (fun (i : α) => MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) i r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) v) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearMap.{u1, u1, max u3 u4, max u4 u3 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u3, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max (max u2 u4) u3} S S (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u3, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u3, u4, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) (Pi.single.{u3, u2} α (fun (ᾰ : α) => R) (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u3} α a b)) (fun (i : α) => MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) i r)) (HSMul.hSMul.{u2, u4, u4} R M M (instHSMul.{u2, u4} R M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4))))) r (v i)) Case conversion may be inaccurate. Consider using '#align fintype.total_apply_single Fintype.total_apply_singleₓ'. -/ @[simp] theorem Fintype.total_apply_single (i : α) (r : R) : @@ -1799,7 +1817,7 @@ variable (S) lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} (R : Type.{u3}) [_inst_1 : Fintype.{u1} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_2 _inst_3] (S : Type.{u4}) [_inst_5 : Semiring.{u4} S] [_inst_6 : Module.{u4, u2} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u4, u2} R S M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u4, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u4, u2} S M (MulZeroClass.toHasZero.{u4} S (MulZeroOneClass.toMulZeroClass.{u4} S (MonoidWithZero.toMulZeroOneClass.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_5)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} S M (Semiring.toMonoidWithZero.{u4} S _inst_5) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u4, u2} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (x : α -> R), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) M (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) => (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) M _inst_2 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Finsupp.total.{u1, u2, u3} α M R _inst_2 _inst_3 _inst_4 v) (coeFn.{succ (max u1 u3), succ (max u1 u3)} (LinearEquiv.{u3, u3, max u1 u3, max u1 u3} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomInvPair.ids.{u3} R _inst_2) (RingHomInvPair.ids.{u3} R _inst_2) (α -> R) (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))) (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2))) (fun (_x : LinearEquiv.{u3, u3, max u1 u3, max u1 u3} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomInvPair.ids.{u3} R _inst_2) (RingHomInvPair.ids.{u3} R _inst_2) (α -> R) (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))) (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2))) => (α -> R) -> (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u3, max u1 u3} R R (α -> R) (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))) _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomInvPair.ids.{u3} R _inst_2) (RingHomInvPair.ids.{u3} R _inst_2)) (LinearEquiv.symm.{u3, u3, max u1 u3, max u1 u3} R R (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomInvPair.ids.{u3} R _inst_2) (RingHomInvPair.ids.{u3} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u3, u3, u1} R R α (Finite.of_fintype.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) _inst_2 (Semiring.toModule.{u3} R _inst_2))) x)) (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) => (α -> R) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (coeFn.{max (succ (max u1 u2)) (succ (max (max u1 u3) u2)), max (succ (max u1 u2)) (succ (max (max u1 u3) u2))} (LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) => (α -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4)) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, max (max u1 u3) u2} S S (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5))) (Fintype.total.{u1, u2, u3, u4} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) x) but is expected to have type - forall {α : Type.{u3}} {M : Type.{u4}} (R : Type.{u2}) [_inst_1 : Fintype.{u3} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_2 _inst_3] (S : Type.{u1}) [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u4} R S M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (x : α -> R), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) => M) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (α -> R) (fun (a : α -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> R) => Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) a) (SMulHomClass.toFunLike.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (α -> R) (AddMonoid.toZero.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (α -> R) (AddMonoid.toAddZeroClass.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (α -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, max u3 u2, max u3 u2} R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2)))))) (LinearEquiv.symm.{u2, u2, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u2, u2, u3} R R α (Finite.of_fintype.{u3} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) _inst_2 (Semiring.toModule.{u2} R _inst_2))) x)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (LinearMap.{u2, u2, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) _inst_4) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (fun (_x : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) M _inst_2 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Finsupp.total.{u3, u4, u2} α M R _inst_2 _inst_3 _inst_4 v) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> R) => Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (α -> R) (AddMonoid.toZero.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (α -> R) (AddMonoid.toAddZeroClass.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (α -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, max u3 u2, max u3 u2} R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2)))))) (LinearEquiv.symm.{u2, u2, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u2, u2, u3} R R α (Finite.of_fintype.{u3} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) _inst_2 (Semiring.toModule.{u2} R _inst_2))) x)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) v) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearMap.{u1, u1, max u3 u4, max u4 u3 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u3, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max (max u2 u4) u3} S S (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u3, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u3, u4, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) x) + forall {α : Type.{u3}} {M : Type.{u4}} (R : Type.{u2}) [_inst_1 : Fintype.{u3} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_2 _inst_3] (S : Type.{u1}) [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u4} R S M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u4} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u4} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u2, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M) (x : α -> R), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) => M) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (α -> R) (fun (a : α -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> R) => Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) a) (SMulHomClass.toFunLike.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (α -> R) (AddMonoid.toZero.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (α -> R) (AddMonoid.toAddZeroClass.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (α -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, max u3 u2, max u3 u2} R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2)))))) (LinearEquiv.symm.{u2, u2, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u2, u2, u3} R R α (Finite.of_fintype.{u3} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) _inst_2 (Semiring.toModule.{u2} R _inst_2))) x)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (LinearMap.{u2, u2, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) _inst_4) (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (fun (_x : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) M _inst_2 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Finsupp.total.{u3, u4, u2} α M R _inst_2 _inst_3 _inst_4 v) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> R) => Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (α -> R) (AddMonoid.toZero.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (α -> R) (AddMonoid.toAddZeroClass.{max u3 u2} (α -> R) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (α -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u2, max u3 u2, max u3 u2} (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (Module.toDistribMulAction.{u2, max u3 u2} R (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, max u3 u2, max u3 u2} R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u2, max u3 u2} R R (α -> R) (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2)))))) (LinearEquiv.symm.{u2, u2, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u3, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u2, u2, u3} R R α (Finite.of_fintype.{u3} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) _inst_2 (Semiring.toModule.{u2} R _inst_2))) x)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) v) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearMap.{u1, u1, max u3 u4, max u4 u3 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u3, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max (max u2 u4) u3} S S (α -> M) (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u3, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u3 u2, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u3, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u3 u2, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u3, u4, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) x) Case conversion may be inaccurate. Consider using '#align finsupp.total_eq_fintype_total_apply Finsupp.total_eq_fintype_total_applyₓ'. -/ theorem Finsupp.total_eq_fintype_total_apply (x : α → R) : Finsupp.total α M R v ((Finsupp.linearEquivFunOnFinite R R α).symm x) = Fintype.total R S v x := @@ -1815,7 +1833,7 @@ theorem Finsupp.total_eq_fintype_total_apply (x : α → R) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} (R : Type.{u3}) [_inst_1 : Fintype.{u1} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_2 _inst_3] (S : Type.{u4}) [_inst_5 : Semiring.{u4} S] [_inst_6 : Module.{u4, u2} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u4, u2} R S M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u4, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u4, u2} S M (MulZeroClass.toHasZero.{u4} S (MulZeroOneClass.toMulZeroClass.{u4} S (MonoidWithZero.toMulZeroOneClass.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_5)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} S M (Semiring.toMonoidWithZero.{u4} S _inst_5) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u4, u2} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M), Eq.{max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (LinearMap.comp.{u3, u3, u3, max u1 u3, max u1 u3, u2} R R R (α -> R) (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) M _inst_2 _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomCompTriple.right_ids.{u3, u3} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Finsupp.total.{u1, u2, u3} α M R _inst_2 _inst_3 _inst_4 v) (LinearEquiv.toLinearMap.{u3, u3, max u1 u3, max u1 u3} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomInvPair.ids.{u3} R _inst_2) (RingHomInvPair.ids.{u3} R _inst_2) (α -> R) (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))) (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (LinearEquiv.symm.{u3, u3, max u1 u3, max u1 u3} R R (Finsupp.{u1, u3} α R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Finsupp.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (RingHomInvPair.ids.{u3} R _inst_2) (RingHomInvPair.ids.{u3} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u3, u3, u1} R R α (Finite.of_fintype.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) _inst_2 (Semiring.toModule.{u3} R _inst_2))))) (coeFn.{max (succ (max u1 u2)) (succ (max (max u1 u3) u2)), max (succ (max u1 u2)) (succ (max (max u1 u3) u2))} (LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) => (α -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4)) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, max (max u1 u3) u2} S S (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5))) (Fintype.total.{u1, u2, u3, u4} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) but is expected to have type - forall {α : Type.{u4}} {M : Type.{u3}} (R : Type.{u2}) [_inst_1 : Fintype.{u4} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_2 _inst_3] (S : Type.{u1}) [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u3} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u3} R S M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (LinearMap.comp.{u2, u2, u2, max u4 u2, max u4 u2, u3} R R R (α -> R) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) M _inst_2 _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u4, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomCompTriple.ids.{u2, u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Finsupp.total.{u4, u3, u2} α M R _inst_2 _inst_3 _inst_4 v) (LinearEquiv.toLinearMap.{u2, u2, max u4 u2, max u4 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u4, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u4, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (LinearEquiv.symm.{u2, u2, max u4 u2, max u4 u2} R R (Finsupp.{u4, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u4, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u2, u2, u4} R R α (Finite.of_fintype.{u4} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) _inst_2 (Semiring.toModule.{u2} R _inst_2))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u3) (succ u4), max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u1, u1, max u4 u3, max u3 u4 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u4, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u3} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u4, u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u4 u2, u3} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, max (max u2 u3) u4} S S (α -> M) (LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u4, u3} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u3} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u4, u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u4 u2, u3} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u4, u3, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) + forall {α : Type.{u4}} {M : Type.{u3}} (R : Type.{u2}) [_inst_1 : Fintype.{u4} α] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_2 _inst_3] (S : Type.{u1}) [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u3} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u2, u1, u3} R S M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (LinearMap.comp.{u2, u2, u2, max u4 u2, max u4 u2, u3} R R R (α -> R) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) M _inst_2 _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u4, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomCompTriple.ids.{u2, u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Finsupp.total.{u4, u3, u2} α M R _inst_2 _inst_3 _inst_4 v) (LinearEquiv.toLinearMap.{u2, u2, max u4 u2, max u4 u2} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (α -> R) (Finsupp.{u4, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (Finsupp.module.{u4, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (LinearEquiv.symm.{u2, u2, max u4 u2, max u4 u2} R R (Finsupp.{u4, u2} α R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (α -> R) _inst_2 _inst_2 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.module.{u4, u2, u2} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.429 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomInvPair.ids.{u2} R _inst_2) (RingHomInvPair.ids.{u2} R _inst_2) (Finsupp.linearEquivFunOnFinite.{u2, u2, u4} R R α (Finite.of_fintype.{u4} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) _inst_2 (Semiring.toModule.{u2} R _inst_2))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u3) (succ u4), max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u1, u1, max u4 u3, max u3 u4 u2} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u4, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u3} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u4, u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u4 u2, u3} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, max (max u2 u3) u4} S S (α -> M) (LinearMap.{u2, u2, max u4 u2, u3} R R _inst_2 _inst_2 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u4, u3} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u4 u2, u3} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Pi.module.{u4, u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u1, max u4 u2, u3} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u4, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) _inst_3 (Pi.module.{u4, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (fun (i : α) => Semiring.toModule.{u2} R _inst_2)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u4, u3, u2, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v) Case conversion may be inaccurate. Consider using '#align finsupp.total_eq_fintype_total Finsupp.total_eq_fintype_totalₓ'. -/ theorem Finsupp.total_eq_fintype_total : (Finsupp.total α M R v).comp (Finsupp.linearEquivFunOnFinite R R α).symm.toLinearMap = @@ -1829,7 +1847,7 @@ variable {S} lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} (R : Type.{u3}) [_inst_1 : Fintype.{u1} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_2 _inst_3] {S : Type.{u4}} [_inst_5 : Semiring.{u4} S] [_inst_6 : Module.{u4, u2} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u4, u2} R S M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u4, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u4, u2} S M (MulZeroClass.toHasZero.{u4} S (MulZeroOneClass.toMulZeroClass.{u4} S (MonoidWithZero.toMulZeroOneClass.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_5)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} S M (Semiring.toMonoidWithZero.{u4} S _inst_5) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u4, u2} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M), Eq.{succ u2} (Submodule.{u3, u2} R M _inst_2 _inst_3 _inst_4) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (RingHomSurjective.ids.{u3} R _inst_2) (coeFn.{max (succ (max u1 u2)) (succ (max (max u1 u3) u2)), max (succ (max u1 u2)) (succ (max (max u1 u3) u2))} (LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearMap.{u4, u4, max u1 u2, max (max u1 u3) u2} S S _inst_5 _inst_5 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) => (α -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4)) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, max (max u1 u3) u2} S S (α -> M) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u1 u3, u2} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.Function.module.{u1, u4, u2} α S M _inst_5 _inst_3 _inst_6) (LinearMap.module.{u3, u3, u4, max u1 u3, u2} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.Function.module.{u1, u3, u3} α R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_5))) (Fintype.total.{u1, u2, u3, u4} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v)) (Submodule.span.{u3, u2} R M _inst_2 _inst_3 _inst_4 (Set.range.{u2, succ u1} M α v)) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u4}} (R : Type.{u3}) [_inst_1 : Fintype.{u2} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u3, u4} R M _inst_2 _inst_3] {S : Type.{u1}} [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u1, u4} R S M (SMulZeroClass.toSMul.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u3, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M), Eq.{succ u4} (Submodule.{u3, u4} R M _inst_2 _inst_3 _inst_4) (LinearMap.range.{u3, u3, max u2 u3, u4, max (max u2 u4) u3} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) v) (LinearMap.instSemilinearMapClassLinearMap.{u3, u3, max u2 u3, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (RingHomSurjective.ids.{u3} R _inst_2) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u4) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u2 u4, max u4 u2 u3} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u2, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u2 u3, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.module.{u2, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u2 u3, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u2, max (max u3 u4) u2} S S (α -> M) (LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u2, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u2 u3, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.module.{u2, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14128 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u2 u3, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14140 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u2, u4, u3, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v)) (Submodule.span.{u3, u4} R M _inst_2 _inst_3 _inst_4 (Set.range.{u4, succ u2} M α v)) + forall {α : Type.{u2}} {M : Type.{u4}} (R : Type.{u3}) [_inst_1 : Fintype.{u2} α] [_inst_2 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u3, u4} R M _inst_2 _inst_3] {S : Type.{u1}} [_inst_5 : Semiring.{u1} S] [_inst_6 : Module.{u1, u4} S M _inst_5 _inst_3] [_inst_7 : SMulCommClass.{u3, u1, u4} R S M (SMulZeroClass.toSMul.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} R M (Semiring.toMonoidWithZero.{u3} R _inst_2) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u3, u4} R M _inst_2 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u4} S M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_5)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M (Semiring.toMonoidWithZero.{u1} S _inst_5) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} S M _inst_5 _inst_3 _inst_6))))] (v : α -> M), Eq.{succ u4} (Submodule.{u3, u4} R M _inst_2 _inst_3 _inst_4) (LinearMap.range.{u3, u3, max u2 u3, u4, max (max u2 u4) u3} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) v) (LinearMap.instSemilinearMapClassLinearMap.{u3, u3, max u2 u3, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (RingHomSurjective.ids.{u3} R _inst_2) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u4) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u2 u4, max u4 u2 u3} S S _inst_5 _inst_5 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5)) (α -> M) (LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) (Pi.addCommMonoid.{u2, u4} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u2 u3, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.module.{u2, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u2 u3, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> M) => LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u2, max (max u3 u4) u2} S S (α -> M) (LinearMap.{u3, u3, max u2 u3, u4} R R _inst_2 _inst_2 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (α -> R) M (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4) _inst_5 _inst_5 (Pi.addCommMonoid.{u2, u4} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (LinearMap.addCommMonoid.{u3, u3, max u2 u3, u4} R R (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Pi.module.{u2, u4, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14461 : α) => M) S _inst_5 (fun (i : α) => _inst_3) (fun (i : α) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, max u2 u3, u4} R R S (α -> R) M _inst_2 _inst_2 (Pi.addCommMonoid.{u2, u3} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) _inst_3 (Pi.module.{u2, u3, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.14473 : α) => R) R _inst_2 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (fun (i : α) => Semiring.toModule.{u3} R _inst_2)) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_5 _inst_6 _inst_7) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_5))) (Fintype.total.{u2, u4, u3, u1} α M R _inst_1 _inst_2 _inst_3 _inst_4 S _inst_5 _inst_6 _inst_7) v)) (Submodule.span.{u3, u4} R M _inst_2 _inst_3 _inst_4 (Set.range.{u4, succ u2} M α v)) Case conversion may be inaccurate. Consider using '#align fintype.range_total Fintype.range_totalₓ'. -/ @[simp] theorem Fintype.range_total : (Fintype.total R S v).range = Submodule.span R (Set.range v) := by @@ -2075,7 +2093,7 @@ theorem splittingOfFinsuppSurjective_injective (f : M →ₗ[R] α →₀ R) (s lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))), (Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (α -> R) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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 : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) => M -> α -> R) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)) -> (LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3) but is expected to have type - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u1, u1, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1))), (Function.Surjective.{succ u2, max (succ u1) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (succ u1) (succ u3)} (LinearMap.{u1, u1, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u1 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)) -> (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1)) _inst_3) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u1, u1, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1))), (Function.Surjective.{succ u2, max (succ u1) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (succ u1) (succ u3)} (LinearMap.{u1, u1, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u1 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)) -> (LinearMap.{u1, u1, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.module.{u3, u1, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (fun (i : α) => Semiring.toModule.{u1} R _inst_1)) _inst_3) Case conversion may be inaccurate. Consider using '#align linear_map.splitting_of_fun_on_fintype_surjective LinearMap.splittingOfFunOnFintypeSurjectiveₓ'. -/ -- See also `linear_map.splitting_of_finsupp_surjective` /-- A surjective linear map to functions on a finite type has a splitting. -/ @@ -2089,7 +2107,7 @@ def splittingOfFunOnFintypeSurjective [Fintype α] (f : M →ₗ[R] α → R) (s lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (α -> R) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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 : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) => M -> α -> R) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)), Eq.{succ (max u3 u1)} (LinearMap.{u1, u1, max u3 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) (α -> R) (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u3, 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)) (Pi.Function.module.{u3, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (LinearMap.comp.{u1, u1, u1, max u3 u1, u2, max u3 u1} R R R (α -> R) M (α -> R) _inst_1 _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u3, 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)) _inst_3 (Pi.Function.module.{u3, 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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.right_ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f (LinearMap.splittingOfFunOnFintypeSurjective.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) (LinearMap.id.{u1, max u3 u1} R (α -> R) _inst_1 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u3, 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.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16812 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (s : Function.Surjective.{succ u1, max (succ u2) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16812 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16812 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16812 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f)), Eq.{max (succ u2) (succ u3)} (LinearMap.{u2, u2, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (α -> R) (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16812 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (LinearMap.comp.{u2, u2, u2, max u2 u3, u1, max u2 u3} R R R (α -> R) M (α -> R) _inst_1 _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16812 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomCompTriple.ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (LinearMap.splittingOfFunOnFintypeSurjective.{u2, u1, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) (LinearMap.id.{u2, max u2 u3} R (α -> R) _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) + forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17145 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (s : Function.Surjective.{succ u1, max (succ u2) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17145 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17145 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17145 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f)), Eq.{max (succ u2) (succ u3)} (LinearMap.{u2, u2, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (α -> R) (α -> R) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17145 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (LinearMap.comp.{u2, u2, u2, max u2 u3, u1, max u2 u3} R R R (α -> R) M (α -> R) _inst_1 _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17145 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomCompTriple.ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (LinearMap.splittingOfFunOnFintypeSurjective.{u2, u1, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) (LinearMap.id.{u2, max u2 u3} R (α -> R) _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) Case conversion may be inaccurate. Consider using '#align linear_map.splitting_of_fun_on_fintype_surjective_splits LinearMap.splittingOfFunOnFintypeSurjective_splitsₓ'. -/ theorem splittingOfFunOnFintypeSurjective_splits [Fintype α] (f : M →ₗ[R] α → R) (s : Surjective f) : f.comp (splittingOfFunOnFintypeSurjective f s) = LinearMap.id := @@ -2105,7 +2123,7 @@ theorem splittingOfFunOnFintypeSurjective_splits [Fintype α] (f : M →ₗ[R] lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (α -> R) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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 : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) => M -> α -> R) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)), Function.LeftInverse.{max (succ u3) (succ u1), succ u2} (α -> R) M (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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 : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) => M -> α -> R) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3) (fun (_x : LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3) => (α -> R) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (α -> R) M _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.splittingOfFunOnFintypeSurjective.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) but is expected to have type - forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (s : Function.Surjective.{succ u1, max (succ u2) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f)), Function.LeftInverse.{max (succ u2) (succ u3), succ u1} (α -> R) M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16944 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (α -> R) M _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (LinearMap.splittingOfFunOnFintypeSurjective.{u2, u1, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) + forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (s : Function.Surjective.{succ u1, max (succ u2) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f)), Function.LeftInverse.{max (succ u2) (succ u3), succ u1} (α -> R) M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17277 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (α -> R) M _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (LinearMap.splittingOfFunOnFintypeSurjective.{u2, u1, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) Case conversion may be inaccurate. Consider using '#align linear_map.left_inverse_splitting_of_fun_on_fintype_surjective LinearMap.leftInverse_splittingOfFunOnFintypeSurjectiveₓ'. -/ theorem leftInverse_splittingOfFunOnFintypeSurjective [Fintype α] (f : M →ₗ[R] α → R) (s : Surjective f) : LeftInverse f (splittingOfFunOnFintypeSurjective f s) := fun g => @@ -2116,7 +2134,7 @@ theorem leftInverse_splittingOfFunOnFintypeSurjective [Fintype α] (f : M →ₗ lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (α -> R) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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 : LinearMap.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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))) => M -> α -> R) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Pi.Function.module.{u3, 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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)), Function.Injective.{max (succ u3) (succ u1), succ u2} (α -> R) M (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3) (fun (_x : LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3) => (α -> R) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (α -> R) M _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u1} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Pi.Function.module.{u3, 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)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.splittingOfFunOnFintypeSurjective.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) but is expected to have type - forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17003 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (s : Function.Surjective.{succ u1, max (succ u2) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17003 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17003 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17003 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f)), Function.Injective.{max (succ u2) (succ u3), succ u1} (α -> R) M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (α -> R) M _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.16729 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (LinearMap.splittingOfFunOnFintypeSurjective.{u2, u1, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) + forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_6 : Fintype.{u3} α] (f : LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17336 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) (s : Function.Surjective.{succ u1, max (succ u2) (succ u3)} M (α -> R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (α -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17336 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17336 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => α -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u2 u3} R R M (α -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17336 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f)), Function.Injective.{max (succ u2) (succ u3), succ u1} (α -> R) M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (α -> R) M (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3) (α -> R) (fun (_x : α -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : α -> R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (α -> R) M _inst_1 _inst_1 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Pi.module.{u3, u2, u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.17062 : α) => R) R _inst_1 (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : α) => Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (LinearMap.splittingOfFunOnFintypeSurjective.{u2, u1, u3} R M _inst_1 _inst_2 _inst_3 α _inst_6 f s)) Case conversion may be inaccurate. Consider using '#align linear_map.splitting_of_fun_on_fintype_surjective_injective LinearMap.splittingOfFunOnFintypeSurjective_injectiveₓ'. -/ theorem splittingOfFunOnFintypeSurjective_injective [Fintype α] (f : M →ₗ[R] α → R) (s : Surjective f) : Injective (splittingOfFunOnFintypeSurjective f s) := diff --git a/lake-manifest.json b/lake-manifest.json index 4136657b4e..d6f4cb4c00 100644 --- a/lake-manifest.json +++ b/lake-manifest.json @@ -4,15 +4,15 @@ [{"git": {"url": "https://github.com/leanprover-community/lean3port.git", "subDir?": null, - "rev": "1e011598daa33cdaa99cd6ef55e0ff2b852f2fb9", + "rev": "7bfc9215a067b14cfa7d77d51d5b35546ef2b90b", "name": "lean3port", - "inputRev?": "1e011598daa33cdaa99cd6ef55e0ff2b852f2fb9"}}, + "inputRev?": "7bfc9215a067b14cfa7d77d51d5b35546ef2b90b"}}, {"git": {"url": "https://github.com/leanprover-community/mathlib4.git", "subDir?": null, - "rev": "02c081e80e62f203e6962de6adce430cf9b70871", + "rev": "02e640fef023a96710954f2865905652680c47af", "name": "mathlib", - "inputRev?": "02c081e80e62f203e6962de6adce430cf9b70871"}}, + "inputRev?": "02e640fef023a96710954f2865905652680c47af"}}, {"git": {"url": "https://github.com/gebner/quote4", "subDir?": null, diff --git a/lakefile.lean b/lakefile.lean index 1b361c2c96..220062c2b4 100644 --- a/lakefile.lean +++ b/lakefile.lean @@ -4,7 +4,7 @@ open Lake DSL System -- Usually the `tag` will be of the form `nightly-2021-11-22`. -- If you would like to use an artifact from a PR build, -- it will be of the form `pr-branchname-sha`. -def tag : String := "nightly-2023-03-28-22" +def tag : String := "nightly-2023-03-29-00" def releaseRepo : String := "leanprover-community/mathport" def oleanTarName : String := "mathlib3-binport.tar.gz" @@ -38,7 +38,7 @@ target fetchOleans (_pkg : Package) : Unit := do untarReleaseArtifact releaseRepo tag oleanTarName libDir return .nil -require lean3port from git "https://github.com/leanprover-community/lean3port.git"@"1e011598daa33cdaa99cd6ef55e0ff2b852f2fb9" +require lean3port from git "https://github.com/leanprover-community/lean3port.git"@"7bfc9215a067b14cfa7d77d51d5b35546ef2b90b" @[default_target] lean_lib Mathbin where